time="2024-06-25T09:09:42Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-experiment-1 Creating Container integration-test-authorization-1 Creating Container integration-test-device-1 Creating Container integration-test-gateway-1 Creating Container integration-test-authentication-1 Creating Container integration-test-federation-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-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-25T09:10:16Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:47046","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-06-25T09:10:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47046","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.246535,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:16Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1719306616.7735465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1719306616.7736132} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1719306616.7736232} 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":1719306616.7736447} 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":1719306616.77366} 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":1719306616.7736998,"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":1719306616.7741046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1719306616.7749188} 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:47132","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-06-25T09:10:16.799807232Z","id":"01J17AHZYZ614HWGHSD4EA9VM1","name":"crosslab","updated_at":"2024-06-25T09:10:16.799807232Z"},"request_id":"1e5cdb45-e5c1-43d8-ae6d-cb7bbfae5da6","subsystem":"openfga","timestamp":1719306616.7999306} 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:47132","raw_request":{"schema_version":"1.1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J17AJ00XHP4DKF187V9HDKRB"},"request_id":"6008eb3e-7f61-40be-82eb-185ba06a1b8e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306616.86162} authorization-1 | {"client_addr":"127.0.0.1:47046","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-06-25T09:10:16Z"} authorization-1 | {"client_addr":"127.0.0.1:47046","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.184097,"resp_status":204,"subsystem":"opa","time":"2024-06-25T09:10:16Z"} authorization-1 | {"level":"info","message":"Authorization 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-25T09:10:17Z"} gateway-1 | {"time_local":"25/Jun/2024:09:10:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.028","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"12b653309b4ee42e9930f2df0652ed34"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 19ms","method":"HEAD","requestID":"12b653309b4ee42e9930f2df0652ed34","responseTime":19,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"25/Jun/2024:09:10:25 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7e66b97b9c80cacea908f4b2bff5f024"} device-1 | {"level":"info","message":"HEAD /device/status 200 9ms","method":"HEAD","requestID":"c20eb740-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"25/Jun/2024:09:10:25 +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.008","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4d8215df1fff0acda244599b41222e7c"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 3ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"4d8215df1fff0acda244599b41222e7c"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"25/Jun/2024:09:10:25 +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.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f218c0fb2933b9098387e609d7d84a89"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 15ms","method":"HEAD","requestID":"c214aab0-32d2-11ef-9f00-f5abcccc572d","responseTime":15,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"25/Jun/2024:09:10:25 +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.019","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"0b23be3844c51cd3b71a9a19df8e0dbd"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 12ms","method":"HEAD","requestID":"c2193e90-32d2-11ef-a968-a53e1defcfea","responseTime":12,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"25/Jun/2024:09:10:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e77b35e9af2331e7347ed5b94fb7ae5"} authentication-1 | {"level":"info","message":"POST /login 201 156ms","method":"POST","requestID":"6e77b35e9af2331e7347ed5b94fb7ae5","responseTime":156,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYyOH0.UijqZnVz_xMJMBQGA8lkuTd8Zyaw1iyFDlXAnSFOKvw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"7a2ef6c83f441ba19ef57b6af76d0f45","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.790074,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306628,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYyOH0.UijqZnVz_xMJMBQGA8lkuTd8Zyaw1iyFDlXAnSFOKvw"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a2ef6c83f441ba19ef57b6af76d0f45"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":26}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3b6afeed-50ba-4041-a0fc-e96989e77675","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.3630395} 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":"7a2ef6c83f441ba19ef57b6af76d0f45"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd59719a-c6e0-4458-a991-89f161471458","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.3784297} 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":"7a2ef6c83f441ba19ef57b6af76d0f45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"43d4d8b1-e1db-4114-8257-0445b0e8306c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.3961027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44222ac1-fc58-4160-b87b-bf77fded7d10","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.3965542} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a2ef6c83f441ba19ef57b6af76d0f45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.396077190Z"}]},"request_id":"87e12669-bb04-4300-9d72-f90e3e21d3a3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.4042475} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a2ef6c83f441ba19ef57b6af76d0f45"},"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":"25/Jun/2024:09:10: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.270","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a2ef6c83f441ba19ef57b6af76d0f45"} device-1 | {"level":"info","message":"POST /devices? 201 229ms","method":"POST","requestID":"7a2ef6c83f441ba19ef57b6af76d0f45","responseTime":229,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYyOH0.UijqZnVz_xMJMBQGA8lkuTd8Zyaw1iyFDlXAnSFOKvw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d6e76f1302a3b6c4434aab8384ab756b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.77504,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306628,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYyOH0.UijqZnVz_xMJMBQGA8lkuTd8Zyaw1iyFDlXAnSFOKvw"} 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":"d6e76f1302a3b6c4434aab8384ab756b"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a126c793-81af-4b46-9164-e66b0ab4ea4f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.4626484} 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":"d6e76f1302a3b6c4434aab8384ab756b"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21ae9994-499e-4bb9-977d-82da90603675","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.4750507} 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":"d6e76f1302a3b6c4434aab8384ab756b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"727de393-9efd-40c3-8260-78c716e1ad47","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.4903655} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f8012ee-af50-466a-91f5-f462fd1c1ffd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.490793} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6e76f1302a3b6c4434aab8384ab756b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.490347429Z"}]},"request_id":"07a40c82-8829-445c-821d-a9b7346c1c42","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306628.5032978} 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":"d6e76f1302a3b6c4434aab8384ab756b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6e76f1302a3b6c4434aab8384ab756b"} device-1 | {"level":"info","message":"POST /devices? 201 74ms","method":"POST","requestID":"d6e76f1302a3b6c4434aab8384ab756b","responseTime":74,"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 4ms","method":"GET","requestID":"33ed903dc08f2fc3d002205b490b224d","responseTime":4,"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":"a054f7f360a439079ffad58c615289eb","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.011","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"33ed903dc08f2fc3d002205b490b224d"} device-1 | {"level":"info","message":"OPTIONS /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/websocket 200 2ms","method":"OPTIONS","requestID":"33ed903dc08f2fc3d002205b490b224d","responseTime":2,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.014","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a054f7f360a439079ffad58c615289eb"} device-1 | {"level":"info","message":"OPTIONS /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/websocket 200 2ms","method":"OPTIONS","requestID":"a054f7f360a439079ffad58c615289eb","responseTime":2,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMH0.mA9354941uEzilZBB9LKqKK5CDVqWSgOkngPXqflzk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"d6ebb53f02bf0b533a299521a5f936a3","responseTime":13,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMH0.mA9354941uEzilZBB9LKqKK5CDVqWSgOkngPXqflzk4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"d0dce8bc85ef575fd9801e5678e2f6d1","responseTime":10,"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:52986","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914798,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306630,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMH0.mA9354941uEzilZBB9LKqKK5CDVqWSgOkngPXqflzk4"} 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":"d6ebb53f02bf0b533a299521a5f936a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:30Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318709,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306630,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMH0.mA9354941uEzilZBB9LKqKK5CDVqWSgOkngPXqflzk4"} 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":"d0dce8bc85ef575fd9801e5678e2f6d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.079","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d0dce8bc85ef575fd9801e5678e2f6d1"} device-1 | {"level":"info","message":"POST /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/websocket 200 59ms","method":"POST","requestID":"d0dce8bc85ef575fd9801e5678e2f6d1","responseTime":59,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.097","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d6ebb53f02bf0b533a299521a5f936a3"} device-1 | {"level":"info","message":"POST /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/websocket 200 80ms","method":"POST","requestID":"d6ebb53f02bf0b533a299521a5f936a3","responseTime":80,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5b756a41ba3d1dc089bba8f23a4ac324","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.310452,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"5b756a41ba3d1dc089bba8f23a4ac324"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.396077190Z"}]},"request_id":"44e19252-e809-44ae-92ff-463055065a6a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.104139} 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":"5b756a41ba3d1dc089bba8f23a4ac324"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0? 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":"5b756a41ba3d1dc089bba8f23a4ac324"} device-1 | {"level":"info","message":"GET /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0? 200 40ms","method":"GET","requestID":"5b756a41ba3d1dc089bba8f23a4ac324","responseTime":40,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"d382ca5ca21bcee876fc1a44ac862e72","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21585,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"d382ca5ca21bcee876fc1a44ac862e72"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.490347429Z"}]},"request_id":"8345ab1b-bba2-4947-85e1-6cd7fc08d37d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.15906} 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":"d382ca5ca21bcee876fc1a44ac862e72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d382ca5ca21bcee876fc1a44ac862e72"} device-1 | {"level":"info","message":"GET /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5? 200 29ms","method":"GET","requestID":"d382ca5ca21bcee876fc1a44ac862e72","responseTime":29,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d93b21b0aa90e83e2e864103885f2818","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:52986","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.771708,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"d93b21b0aa90e83e2e864103885f2818"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"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:52986","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603483,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"c5b83740-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641505,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"c5b8ac70-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.396077190Z"}]},"request_id":"c396922b-2ccf-4ef0-a03b-3b38bdd391c1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.3648684} 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":"c5b83740-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.490347429Z"}]},"request_id":"e0c1c986-f74d-45e8-aefc-f1fe8fe0d605","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.3664896} 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":"c5b8ac70-32d2-11ef-8c48-074c31242816"},"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/7f5e75b6-2acc-46e2-bf57-9285480a64b0? 200 26ms","method":"GET","requestID":"c5b83740-32d2-11ef-8c48-074c31242816","responseTime":26,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5? 200 24ms","method":"GET","requestID":"c5b8ac70-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"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/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061042,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596948,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5cb2300-32d2-11ef-8c48-074c31242816"},"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/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"c5cb9830-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.472261,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec47f635-4199-4694-8912-55de0f8f6a06","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.4981043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.490347429Z"}]},"request_id":"b6d65746-bc7d-443b-a35e-6813405a753a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.4990408} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.396077190Z"}]},"request_id":"f1ea0068-6424-46f7-aee2-b2e265998a5c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5017147} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","rebac_allow":false,"scope_allow":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":"c5cc3470-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} 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":"c5cb9830-32d2-11ef-8c48-074c31242816"},"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 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":"c5cb2300-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F88e07fc0-634b-4d2c-b7c6-dd4374091781#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F88e07fc0-634b-4d2c-b7c6-dd4374091781","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"aebdc49e-d9eb-479c-979e-693bb0dabc38","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5128114} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9de5b9c2-9483-4871-b12c-d8a4976cc86b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5133276} 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":"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":"d93b21b0aa90e83e2e864103885f2818"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":33}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling 200 48ms","method":"POST","requestID":"c5cc3470-32d2-11ef-8c48-074c31242816","responseTime":48,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5? 200 54ms","method":"GET","requestID":"c5cb9830-32d2-11ef-8c48-074c31242816","responseTime":54,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0? 200 60ms","method":"GET","requestID":"c5cb2300-32d2-11ef-8c48-074c31242816","responseTime":60,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"026f6cf3-d5b7-4975-ad47-5068981e51d7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5409138} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.356408,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","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":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.368","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d93b21b0aa90e83e2e864103885f2818"} experiment-1 | {"level":"info","message":"POST /experiments? 201 345ms","method":"POST","requestID":"d93b21b0aa90e83e2e864103885f2818","responseTime":345,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5d498e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f3c4555-c913-4cca-851b-491b34fffdc6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5457294} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.846706,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","rebac_allow":false,"scope_allow":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":"c5d55c30-32d2-11ef-8c48-074c31242816"},"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/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling 200 17ms","method":"POST","requestID":"c5d498e0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9554c32b86a00e3a6fceb8a272ac5676","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling 200 16ms","method":"POST","requestID":"c5d55c30-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939802,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"9554c32b86a00e3a6fceb8a272ac5676"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad8c7654-e374-465b-9e93-23058903d2bb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5631645} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.134473,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5d84260-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.396077190Z"}]},"request_id":"d981d473-255f-4cc2-8c24-4559c6dce8d8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5671916} device-1 | {"level":"info","message":"POST /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling 200 9ms","method":"POST","requestID":"c5d84260-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9554c32b86a00e3a6fceb8a272ac5676"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"fe4b3440-57ef-4b2e-9de7-7a173ab2c32d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"49029027-18ce-4d7b-9e21-430ba4ea80b0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e790bf5d-4d99-461a-beab-c5c0586fafc7"}]},"level":"info","message":"Built pairwise service configurations"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0? 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":"9554c32b86a00e3a6fceb8a272ac5676"} device-1 | {"level":"info","message":"GET /devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0? 200 17ms","method":"GET","requestID":"9554c32b86a00e3a6fceb8a272ac5676","responseTime":17,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"415aebae312246b8151829c7de34fa9c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.034704,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"c5db2890-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.568669,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"415aebae312246b8151829c7de34fa9c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:28.490347429Z"}]},"request_id":"60c44a3a-b0e1-4f43-9a87-616fd8cd1d32","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.5893059} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"415aebae312246b8151829c7de34fa9c"},"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":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"415aebae312246b8151829c7de34fa9c"} device-1 | {"level":"info","message":"GET /devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5? 200 14ms","method":"GET","requestID":"415aebae312246b8151829c7de34fa9c","responseTime":14,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8a91259a-0e22-46f0-86d3-cea19522cc02","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.6064591} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41a81a3d-f7a5-4678-b5af-1b070a4e15a2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.6067433} 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":"c5db2890-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} 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/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"c5db2890-32d2-11ef-8c48-074c31242816","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ee0c684-a3b4-47cc-aab1-1a2268a7b544","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.670843} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.455546,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","rebac_allow":false,"scope_allow":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":"c5e8bd20-32d2-11ef-8c48-074c31242816"},"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/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling 200 9ms","method":"POST","requestID":"c5e8bd20-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a2ad363-1dc4-4aa5-844b-8a5bdf1bbe1a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.684055} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.61456,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","rebac_allow":false,"scope_allow":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":"c5ea91e0-32d2-11ef-8c48-074c31242816"},"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/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling 200 12ms","method":"POST","requestID":"c5ea91e0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","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":"e870f0f683d9d3b3c3a753ada0e0fd27","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/92c28542-d740-45bc-9f6b-bd3e13c2ece5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"e870f0f683d9d3b3c3a753ada0e0fd27","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"e870f0f683d9d3b3c3a753ada0e0fd27"} device-1 | {"data":{"peerconnection":"f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","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/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","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":"dc411abd2ea7cdec534604b2ec439240","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/92c28542-d740-45bc-9f6b-bd3e13c2ece5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6e1cbee-d5ed-47db-a779-a2f7eb3916c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b00cfe32-af04-4e05-bab9-d613d0ba892e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.8058717} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.2629,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5fd5690-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8 200 10ms","method":"GET","requestID":"c5fd5690-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"dc411abd2ea7cdec534604b2ec439240","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"dc411abd2ea7cdec534604b2ec439240"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a9878d4-0739-4109-9cc0-3e091e19f7e2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.8352914} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.139263,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c601c360-32d2-11ef-8c48-074c31242816"},"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/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling 200 10ms","method":"POST","requestID":"c601c360-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f5d5f215509a0e768f9a51c71dde4726","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bc5c66f-767a-4164-850b-dfed087e4ba1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.8480415} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.692221,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.187475,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","rebac_allow":false,"scope_allow":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":"c603bf30-32d2-11ef-8c48-074c31242816"},"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":"experiment:http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"f5d5f215509a0e768f9a51c71dde4726"},"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/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling 200 11ms","method":"POST","requestID":"c603bf30-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"} experiment-1 | {"level":"info","message":"GET /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781 200 19ms","method":"GET","requestID":"f5d5f215509a0e768f9a51c71dde4726","responseTime":19,"status":200,"url":"/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"} gateway-1 | {"time_local":"25/Jun/2024:09:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5d5f215509a0e768f9a51c71dde4726"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af60ef5478300e73d1477f53e4a202f2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.754317,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af60ef5478300e73d1477f53e4a202f2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.955224,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306631,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMX0.A-XyfsuyLm-enjL7Q62-SvAZOwyclS1yWLjDamvKJ0k"} 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":"c609d9b0-32d2-11ef-8c48-074c31242816"},"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/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","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":"9f0f1621784ffc5985dc6280f93a4a9c","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/92c28542-d740-45bc-9f6b-bd3e13c2ece5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8"}}},"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":"a11cf4f89183f504343dcce3783391d3","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/92c28542-d740-45bc-9f6b-bd3e13c2ece5"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6e1cbee-d5ed-47db-a779-a2f7eb3916c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff6e1cbee-d5ed-47db-a779-a2f7eb3916c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"fd37531b-8e0a-4dae-a57d-cb73233c5b9a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.9147997} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b9e0d96-e4d8-480d-a3e7-7d84b200f9fa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.9150982} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"c609d9b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"data":{"peerconnection":"f6e1cbee-d5ed-47db-a779-a2f7eb3916c8","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/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8 204 51ms","method":"DELETE","requestID":"c609d9b0-32d2-11ef-8c48-074c31242816","responseTime":51,"status":204,"url":"/peerconnections/f6e1cbee-d5ed-47db-a779-a2f7eb3916c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92c28542-d740-45bc-9f6b-bd3e13c2ece5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1faa04ed-07f4-439c-bcd6-afe9d6bde848","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.9746025} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.237801,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5","object_type":"device","rebac_allow":false,"scope_allow":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":"c6165cd0-32d2-11ef-8c48-074c31242816"},"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/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling 200 16ms","method":"POST","requestID":"c6165cd0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F88e07fc0-634b-4d2c-b7c6-dd4374091781': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F88e07fc0-634b-4d2c-b7c6-dd4374091781","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"d59fa020-f46f-4806-af6d-26c9af93ee5e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.9838133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c76d7bf5-da8d-4508-ae20-f33b432408c9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.984394} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af60ef5478300e73d1477f53e4a202f2"},"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:52986","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7f5e75b6-2acc-46e2-bf57-9285480a64b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"290499d9-2693-4c8d-9aff-cf655168992e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306631.9916394} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.931323,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0","object_type":"device","rebac_allow":false,"scope_allow":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":"c6199120-32d2-11ef-8c48-074c31242816"},"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/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling 200 11ms","method":"POST","requestID":"c6199120-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"} gateway-1 | {"time_local":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af60ef5478300e73d1477f53e4a202f2"} experiment-1 | {"level":"info","message":"DELETE /experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781 204 191ms","method":"DELETE","requestID":"af60ef5478300e73d1477f53e4a202f2","responseTime":191,"status":204,"url":"/experiments/88e07fc0-634b-4d2c-b7c6-dd4374091781"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"9f0f1621784ffc5985dc6280f93a4a9c","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f0f1621784ffc5985dc6280f93a4a9c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 161ms","method":"POST","requestID":"a11cf4f89183f504343dcce3783391d3","responseTime":161,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f1284a33408b78a3d836b4f07a496ad3","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"a11cf4f89183f504343dcce3783391d3"} gateway-1 | {"time_local":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2645","request_time":"1.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7c666d1dedaa4ba4a9f11a9d6fc9a1f6"} gateway-1 | {"time_local":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"1.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":"deb32f8b8bc9ac829bcbadf12aac5513"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.045666,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306632,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us"} 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":"f1284a33408b78a3d836b4f07a496ad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7f5e75b6-2acc-46e2-bf57-9285480a64b0' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/92c28542-d740-45bc-9f6b-bd3e13c2ece5' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"855254a1-e1c5-4eaf-bb08-a803197017f3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.104668} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1284a33408b78a3d836b4f07a496ad3"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e589b8cf-c86a-4a9b-bc3c-c57cb64e1997","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1112692} 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":"f1284a33408b78a3d836b4f07a496ad3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"99da8d61-d918-444c-b228-11a49bcd5438","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1237457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1748280d-5125-4a7d-ab5b-21ca45b7d177","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1239858} 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":"f1284a33408b78a3d836b4f07a496ad3"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.123734667Z"}]},"request_id":"96c1e540-309f-47eb-8150-5de90c53a620","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1282864} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1284a33408b78a3d836b4f07a496ad3"},"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":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1284a33408b78a3d836b4f07a496ad3"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"f1284a33408b78a3d836b4f07a496ad3","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3ee5cd4a5131af5ddfa8505d88b0f1fa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.957825,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306632,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us"} 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":"3ee5cd4a5131af5ddfa8505d88b0f1fa"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5531e6f3-3223-4622-84fc-85695d5e30a2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.157291} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ee5cd4a5131af5ddfa8505d88b0f1fa"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6a7391a-9791-4ba4-bb84-28c4db334172","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1622522} 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":"3ee5cd4a5131af5ddfa8505d88b0f1fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5c151262-12a6-4f8f-8384-ce53d11455ae","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1730056} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"acea9462-d60b-4ec2-b4e9-89232150514c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1732697} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ee5cd4a5131af5ddfa8505d88b0f1fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"eed37fee-9891-4ced-ae43-95f598275c3a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.1792512} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ee5cd4a5131af5ddfa8505d88b0f1fa"},"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":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ee5cd4a5131af5ddfa8505d88b0f1fa"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"3ee5cd4a5131af5ddfa8505d88b0f1fa","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5ef4646b80374cf928ca33dcb40094a8","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223741,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306632,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ef4646b80374cf928ca33dcb40094a8"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"95f70244-b17b-448f-80a9-d6e9c3fe598d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.794316} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ef4646b80374cf928ca33dcb40094a8"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4844ff61-df04-4072-bfa2-2d05635bbb19","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.8036022} 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":"5ef4646b80374cf928ca33dcb40094a8"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"e2ea51d9-5ac4-4ea3-bede-2b11cd9ffcc2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306632.8271804} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ef4646b80374cf928ca33dcb40094a8"},"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":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5ef4646b80374cf928ca33dcb40094a8"} device-1 | {"level":"info","message":"PATCH /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0 200 74ms","method":"PATCH","requestID":"5ef4646b80374cf928ca33dcb40094a8","responseTime":74,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ab184b8c7b6b46fa24dbfa099380c95b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.262774,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306632,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzMn0.arB0RGRpi61207BJZQwp19YCYh6ivrvAMmjEVToP_us"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab184b8c7b6b46fa24dbfa099380c95b"},"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":"25/Jun/2024:09:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ab184b8c7b6b46fa24dbfa099380c95b"} device-1 | {"level":"info","message":"POST /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/websocket 200 24ms","method":"POST","requestID":"ab184b8c7b6b46fa24dbfa099380c95b","responseTime":24,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0' 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":"78f0b4e49b39266836db1fac2f396d95","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/eeadfec9-0bec-489f-905e-6267e8accfd4/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":"78f0b4e49b39266836db1fac2f396d95"} device-1 | {"level":"info","message":"OPTIONS /devices/eeadfec9-0bec-489f-905e-6267e8accfd4/websocket 200 2ms","method":"OPTIONS","requestID":"78f0b4e49b39266836db1fac2f396d95","responseTime":2,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bae6e6b3163a52edcf380623c08630c2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.477632,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bae6e6b3163a52edcf380623c08630c2"},"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":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/eeadfec9-0bec-489f-905e-6267e8accfd4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bae6e6b3163a52edcf380623c08630c2"} device-1 | {"level":"info","message":"POST /devices/eeadfec9-0bec-489f-905e-6267e8accfd4/websocket 200 25ms","method":"POST","requestID":"bae6e6b3163a52edcf380623c08630c2","responseTime":25,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5502718784bbea68287f338b0ccd0d15","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260166,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5502718784bbea68287f338b0ccd0d15"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.123734667Z"}]},"request_id":"9042b256-db5f-4340-99a9-043ac2372821","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.2932007} 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":"5502718784bbea68287f338b0ccd0d15"},"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":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eeadfec9-0bec-489f-905e-6267e8accfd4? 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":"5502718784bbea68287f338b0ccd0d15"} device-1 | {"level":"info","message":"GET /devices/eeadfec9-0bec-489f-905e-6267e8accfd4? 200 22ms","method":"GET","requestID":"5502718784bbea68287f338b0ccd0d15","responseTime":22,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"9108d84f3d303ecbab7ff4fc6529cb51","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.962532,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"9108d84f3d303ecbab7ff4fc6529cb51"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"69b9f218-f480-42ef-bc57-42ae92940e3f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.3289404} 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":"9108d84f3d303ecbab7ff4fc6529cb51"},"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":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9108d84f3d303ecbab7ff4fc6529cb51"} device-1 | {"level":"info","message":"GET /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0? 200 25ms","method":"GET","requestID":"9108d84f3d303ecbab7ff4fc6529cb51","responseTime":25,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9ce2dfb5bb8c379f7461425b4ce2ccbf","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:52986","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.391337,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"9ce2dfb5bb8c379f7461425b4ce2ccbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"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:52986","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971471,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"c78ad460-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.581318,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"c78b2280-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.123734667Z"}]},"request_id":"78301430-301d-4fca-929e-6659a97dd14e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.4249527} 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":"c78ad460-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"929cf07b-c460-4f3a-a980-bcb89ee3a95d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.4273083} 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":"c78b2280-32d2-11ef-8c48-074c31242816"},"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/eeadfec9-0bec-489f-905e-6267e8accfd4? 200 32ms","method":"GET","requestID":"c78ad460-32d2-11ef-8c48-074c31242816","responseTime":32,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0? 200 31ms","method":"GET","requestID":"c78b2280-32d2-11ef-8c48-074c31242816","responseTime":31,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"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/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989779,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7970960-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640535,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7977e90-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.537285,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2e80358-95bb-4be1-90e6-b17eb6d50e9a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.498041} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","rebac_allow":false,"scope_allow":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":"c797ccb0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.123734667Z"}]},"request_id":"e518c226-b50b-46f3-9f69-c3e3db52fc21","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.500181} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"1ad8f61b-ceef-4754-b9a6-b638916288f9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5015554} 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":"c7970960-32d2-11ef-8c48-074c31242816"},"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 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":"c7977e90-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling 200 22ms","method":"POST","requestID":"c797ccb0-32d2-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/eeadfec9-0bec-489f-905e-6267e8accfd4? 200 30ms","method":"GET","requestID":"c7970960-32d2-11ef-8c48-074c31242816","responseTime":30,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0? 200 29ms","method":"GET","requestID":"c7977e90-32d2-11ef-8c48-074c31242816","responseTime":29,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff38ab237-7be3-4ced-9b65-ff329c4fb3aa#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff38ab237-7be3-4ced-9b65-ff329c4fb3aa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"2aa9555d-ccca-47f9-9f27-7d423f44b94c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.519435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"057b1b37-0994-409d-afed-5f99d47cc456","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.519957} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ce2dfb5bb8c379f7461425b4ce2ccbf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5ec996e-8dba-4219-acf9-be9b1c02bfb3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5264082} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.768034,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","rebac_allow":false,"scope_allow":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":"c79c1270-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling 200 14ms","method":"POST","requestID":"c79c1270-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05afe894-eba9-4ba1-8933-d97cde0f74ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5341837} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.827505,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","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/f38ab237-7be3-4ced-9b65-ff329c4fb3aa","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c79cfcd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ce2dfb5bb8c379f7461425b4ce2ccbf"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"9ce2dfb5bb8c379f7461425b4ce2ccbf","responseTime":189,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling 200 16ms","method":"POST","requestID":"c79cfcd0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"febe273c7da1f03a96fc891c5321ef28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"579e8b59-d947-4993-985b-12111e416355","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5502706} authorization-1 | {"client_addr":"127.0.0.1:53002","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642202,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"febe273c7da1f03a96fc891c5321ef28"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.210252,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","rebac_allow":false,"scope_allow":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":"c79fe300-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.123734667Z"}]},"request_id":"fe7ffa12-f4c2-4964-9d46-6226c70ccf82","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5558343} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling 200 13ms","method":"POST","requestID":"c79fe300-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/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":"febe273c7da1f03a96fc891c5321ef28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"9abc240d-6292-45b6-8e24-004104c12d19"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"d14135c9-dcc0-4e05-af91-971bf15c9ba1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"be1fc4fd-d858-4561-ac10-9cd8a74281a7"}]},"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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eeadfec9-0bec-489f-905e-6267e8accfd4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"febe273c7da1f03a96fc891c5321ef28"} device-1 | {"level":"info","message":"GET /devices/eeadfec9-0bec-489f-905e-6267e8accfd4? 200 16ms","method":"GET","requestID":"febe273c7da1f03a96fc891c5321ef28","responseTime":16,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.150235,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"c7a25400-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"402ff498bef64e9bdf787f4fee7afdb1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76238,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306634,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNH0.8PQ1k8xLBMAfML7bMKsTUQY4toQnbC9jZA9ZKcvzFIs"} 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":"402ff498bef64e9bdf787f4fee7afdb1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8203b69a-f3ed-408d-a4ab-1bec77beead0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.579725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51650ef1-26f5-4688-9cce-b6a6d851ed13","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5799387} 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":"c7a25400-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:32.172992479Z"}]},"request_id":"ab7aa1ca-dcea-46d0-b233-18a6e8b26902","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.5807807} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"402ff498bef64e9bdf787f4fee7afdb1"},"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":"25/Jun/2024:09:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"402ff498bef64e9bdf787f4fee7afdb1"} device-1 | {"level":"info","message":"GET /devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0? 200 19ms","method":"GET","requestID":"402ff498bef64e9bdf787f4fee7afdb1","responseTime":19,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0?"} 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/10083e10-3669-4d5a-a218-41946a07c1fb'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"c7a25400-32d2-11ef-8c48-074c31242816","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"360c93ff-cb20-45bf-bcee-f6db46ddc852","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.6362197} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.615561,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","rebac_allow":false,"scope_allow":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":"c7ad0260-32d2-11ef-8c48-074c31242816"},"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/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling 200 12ms","method":"POST","requestID":"c7ad0260-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a93868c-734f-4cfb-9455-1c46a8d4cca7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306634.6488013} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437164,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","rebac_allow":false,"scope_allow":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":"c7af2540-32d2-11ef-8c48-074c31242816"},"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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling 200 9ms","method":"POST","requestID":"c7af2540-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","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/10083e10-3669-4d5a-a218-41946a07c1fb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","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":"5654cbbac29cad6427fbda2f77715ea5","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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"5654cbbac29cad6427fbda2f77715ea5","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"5654cbbac29cad6427fbda2f77715ea5"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4'"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","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/10083e10-3669-4d5a-a218-41946a07c1fb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","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":"e9feafcb855172a083e326cd78ac5cda","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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10083e10-3669-4d5a-a218-41946a07c1fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f5a047c-ac1f-4908-a3ed-4bab7bbb1140","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.7654076} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.934155,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb","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":"c8f1de70-32d2-11ef-8c48-074c31242816"},"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/10083e10-3669-4d5a-a218-41946a07c1fb 200 12ms","method":"GET","requestID":"c8f1de70-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"e9feafcb855172a083e326cd78ac5cda","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"e9feafcb855172a083e326cd78ac5cda"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c06abc9-f6b7-4b63-9aae-a40159dda149","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.793899} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.191534,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","rebac_allow":false,"scope_allow":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":"c8f64b40-32d2-11ef-8c48-074c31242816"},"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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling 200 11ms","method":"POST","requestID":"c8f64b40-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55375f68-ff81-49bb-be4e-77666e364ce1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.8073874} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.194537,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","rebac_allow":false,"scope_allow":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":"c8f84710-32d2-11ef-8c48-074c31242816"},"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/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling 200 11ms","method":"POST","requestID":"c8f84710-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNn0.YhyaIJkw_jSuS7bYen5kZdyNMdtBuLcqNnksIEPEFKc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1eb47e4dd1c202e89ea6c57e9ca04d40","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.968809,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306636,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNn0.YhyaIJkw_jSuS7bYen5kZdyNMdtBuLcqNnksIEPEFKc"} 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":"1eb47e4dd1c202e89ea6c57e9ca04d40"},"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/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"} gateway-1 | {"time_local":"25/Jun/2024:09:10:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1eb47e4dd1c202e89ea6c57e9ca04d40"} experiment-1 | {"level":"info","message":"GET /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa 200 14ms","method":"GET","requestID":"1eb47e4dd1c202e89ea6c57e9ca04d40","responseTime":14,"status":200,"url":"/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNn0.YhyaIJkw_jSuS7bYen5kZdyNMdtBuLcqNnksIEPEFKc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"14dcedfd0028a00aad7ce0d00d5d571f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.129714,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306636,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNn0.YhyaIJkw_jSuS7bYen5kZdyNMdtBuLcqNnksIEPEFKc"} 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":"14dcedfd0028a00aad7ce0d00d5d571f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.814798,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306636,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzNn0.YhyaIJkw_jSuS7bYen5kZdyNMdtBuLcqNnksIEPEFKc"} 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":"c904a320-32d2-11ef-8c48-074c31242816"},"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/10083e10-3669-4d5a-a218-41946a07c1fb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","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":"839ea6c1ebfddfca1b7a52b874ba8e02","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10083e10-3669-4d5a-a218-41946a07c1fb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10083e10-3669-4d5a-a218-41946a07c1fb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"f66f3711-8fe8-4270-9a95-0d5d3c887b1a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.9070356} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7c269fef86f6e5c11d67d9807fb2be66","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca0c7b18-cf69-4765-9d09-6116bb60fe7e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.907375} 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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c904a320-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"10083e10-3669-4d5a-a218-41946a07c1fb","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/10083e10-3669-4d5a-a218-41946a07c1fb 204 47ms","method":"DELETE","requestID":"c904a320-32d2-11ef-8c48-074c31242816","responseTime":47,"status":204,"url":"/peerconnections/10083e10-3669-4d5a-a218-41946a07c1fb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe1794d64-9c24-4051-92c5-bfb72ac2d9f0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e7b5acb-10ae-4a8a-9f89-e06a2c2e3781","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.9660466} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.311305,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0","object_type":"device","rebac_allow":false,"scope_allow":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":"c91014d0-32d2-11ef-8c48-074c31242816"},"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/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling 200 18ms","method":"POST","requestID":"c91014d0-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff38ab237-7be3-4ced-9b65-ff329c4fb3aa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff38ab237-7be3-4ced-9b65-ff329c4fb3aa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"682ab2da-9cce-456e-9747-eaadcf7b57b1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.9754817} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e4f1302-213f-4929-8549-3ff486d0826f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.976006} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14dcedfd0028a00aad7ce0d00d5d571f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeadfec9-0bec-489f-905e-6267e8accfd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8b0787a-f7ee-4b46-a0f1-d486238eb962","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306636.9859705} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.425203,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/eeadfec9-0bec-489f-905e-6267e8accfd4","object_type":"device","rebac_allow":false,"scope_allow":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":"c9137030-32d2-11ef-8c48-074c31242816"},"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/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling 200 15ms","method":"POST","requestID":"c9137030-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/eeadfec9-0bec-489f-905e-6267e8accfd4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"} gateway-1 | {"time_local":"25/Jun/2024:09:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"14dcedfd0028a00aad7ce0d00d5d571f"} gateway-1 | {"time_local":"25/Jun/2024:09:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"4.178","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c4ee85e4758f691fbd49666d459311b1"} experiment-1 | {"level":"info","message":"DELETE /experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa 204 187ms","method":"DELETE","requestID":"14dcedfd0028a00aad7ce0d00d5d571f","responseTime":187,"status":204,"url":"/experiments/f38ab237-7be3-4ced-9b65-ff329c4fb3aa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"839ea6c1ebfddfca1b7a52b874ba8e02","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"839ea6c1ebfddfca1b7a52b874ba8e02"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"7c269fef86f6e5c11d67d9807fb2be66","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c269fef86f6e5c11d67d9807fb2be66"} gateway-1 | {"time_local":"25/Jun/2024:09:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.815","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0701f872b11344bdd977dd990428c9ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"5aaf79595bc7cade5f5c4661dcdc3e88","responseTime":8,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e1794d64-9c24-4051-92c5-bfb72ac2d9f0' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.98224,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306637,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4"} 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":"5aaf79595bc7cade5f5c4661dcdc3e88"},"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/eeadfec9-0bec-489f-905e-6267e8accfd4' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e0ea565-3f60-487f-bd1f-0dea0eecfa27","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.090911} 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":"5aaf79595bc7cade5f5c4661dcdc3e88"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48fd6938-d0de-4d39-aea4-275b56a243fd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1051235} 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":"5aaf79595bc7cade5f5c4661dcdc3e88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"9ee1c331-2e2c-4ffb-bc33-3851d9ca09c4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1224096} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2a9838c-c1a0-4085-94f3-4ec0e6e50989","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1227345} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aaf79595bc7cade5f5c4661dcdc3e88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"7c9e6dd7-27a3-4cd4-9960-45ff564b4e78","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1285393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aaf79595bc7cade5f5c4661dcdc3e88"},"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":"25/Jun/2024:09:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5aaf79595bc7cade5f5c4661dcdc3e88"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"5aaf79595bc7cade5f5c4661dcdc3e88","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c79d40dfc4d43b1b2553f379ffb7b973","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.674496,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306637,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4"} 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":"c79d40dfc4d43b1b2553f379ffb7b973"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ec56878d-6fae-4704-b6ef-292b0edfac98","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.156602} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c79d40dfc4d43b1b2553f379ffb7b973"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01a7a108-1968-408e-a82c-a44213475324","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1614804} 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":"c79d40dfc4d43b1b2553f379ffb7b973"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"2d1e8bd1-0d06-4478-9a0a-91b78e27d9d1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.172891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d02c422-263d-4e36-9f4d-52ee1a1d769a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1729739} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c79d40dfc4d43b1b2553f379ffb7b973"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.172878431Z"}]},"request_id":"48f2c246-40b9-43bc-88c4-df4705e719b5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.1776783} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c79d40dfc4d43b1b2553f379ffb7b973"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"c79d40dfc4d43b1b2553f379ffb7b973","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c79d40dfc4d43b1b2553f379ffb7b973"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e5ad8b5d895f4c25408e73a74f3179a9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152426,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306637,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4"} 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":"e5ad8b5d895f4c25408e73a74f3179a9"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"1341dba6-4562-4ad8-8d0a-e6aefef20ffc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.6720417} 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":"e5ad8b5d895f4c25408e73a74f3179a9"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc6574f2-1a21-4163-b963-df4727075bed","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.6786344} 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":"e5ad8b5d895f4c25408e73a74f3179a9"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"cffb4794-b2b9-4926-976d-02b73e86bdc9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306637.6916757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5ad8b5d895f4c25408e73a74f3179a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e5ad8b5d895f4c25408e73a74f3179a9"} device-1 | {"level":"info","message":"PATCH /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4 200 36ms","method":"PATCH","requestID":"e5ad8b5d895f4c25408e73a74f3179a9","responseTime":36,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b09f5db9878cf478b6f47d214aa9ef5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.11293,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306637,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzN30.mliHcL8pMhLamdhnGof9HFl3d7bAM_icTpQOrbBwxv4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b09f5db9878cf478b6f47d214aa9ef5"},"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":"25/Jun/2024:09:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2b09f5db9878cf478b6f47d214aa9ef5"} device-1 | {"level":"info","message":"POST /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/websocket 200 21ms","method":"POST","requestID":"2b09f5db9878cf478b6f47d214aa9ef5","responseTime":21,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4' 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":"4556eea342644e4c136b67a36ad292fa","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/666cf822-a4f2-4148-84be-234d664d1662/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":"4556eea342644e4c136b67a36ad292fa"} device-1 | {"level":"info","message":"OPTIONS /devices/666cf822-a4f2-4148-84be-234d664d1662/websocket 200 1ms","method":"OPTIONS","requestID":"4556eea342644e4c136b67a36ad292fa","responseTime":1,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"d56cc4fdcc04b4e6fdef3d5617ca256a","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263584,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d56cc4fdcc04b4e6fdef3d5617ca256a"},"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":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/666cf822-a4f2-4148-84be-234d664d1662/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d56cc4fdcc04b4e6fdef3d5617ca256a"} device-1 | {"level":"info","message":"POST /devices/666cf822-a4f2-4148-84be-234d664d1662/websocket 200 22ms","method":"POST","requestID":"d56cc4fdcc04b4e6fdef3d5617ca256a","responseTime":22,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"282d52da331a2ecb4992a0ef037376c4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.351469,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"282d52da331a2ecb4992a0ef037376c4"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"4ce5f1d9-e688-41e4-ab12-dd0be09ebcac","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.2885041} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"282d52da331a2ecb4992a0ef037376c4"},"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":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4? 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":"282d52da331a2ecb4992a0ef037376c4"} device-1 | {"level":"info","message":"GET /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4? 200 19ms","method":"GET","requestID":"282d52da331a2ecb4992a0ef037376c4","responseTime":19,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"494c2c9556b1550337d3f58fbcb68e17","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246654,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"494c2c9556b1550337d3f58fbcb68e17"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.172878431Z"}]},"request_id":"b8bf8784-bae9-47db-aaa0-7d9e3d283569","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.3174186} 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":"494c2c9556b1550337d3f58fbcb68e17"},"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":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/666cf822-a4f2-4148-84be-234d664d1662? 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":"494c2c9556b1550337d3f58fbcb68e17"} device-1 | {"level":"info","message":"GET /devices/666cf822-a4f2-4148-84be-234d664d1662? 200 19ms","method":"GET","requestID":"494c2c9556b1550337d3f58fbcb68e17","responseTime":19,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd0d5e165c60edb140cb0c6587d04c14","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:52986","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.231451,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"dd0d5e165c60edb140cb0c6587d04c14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"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:52986","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645477,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"ca826980-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.298521,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"ca82b7a0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"9a1d3bae-db5a-416d-b7fb-029b664bbf4b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.394126} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca826980-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.172878431Z"}]},"request_id":"e349a8de-167d-4f19-bf29-3138a89687fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.3990748} 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":"ca82b7a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"GET /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4? 200 17ms","method":"GET","requestID":"ca826980-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/666cf822-a4f2-4148-84be-234d664d1662? 200 22ms","method":"GET","requestID":"ca82b7a0-32d2-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"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/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696893,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"ca8e5060-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949147,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"ca8ec590-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.190228,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30405619-0647-41db-8e36-6e992ced03fa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.4782064} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","rebac_allow":false,"scope_allow":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":"ca8f3ac0-32d2-11ef-8c48-074c31242816"},"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/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling 200 22ms","method":"POST","requestID":"ca8f3ac0-32d2-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.172878431Z"}]},"request_id":"61731203-e4a4-4370-94e6-da5e53e30efe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.4891388} 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":"ca8ec590-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"7c3af3e7-37e4-48ba-b587-0df4679b6f42","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.4916258} 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":"ca8e5060-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ba7efae-4eb8-4c27-8740-e83530b864f7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ba7efae-4eb8-4c27-8740-e83530b864f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5d47f0e1-e9ee-40dc-a802-fae7b3d8e343","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.4992158} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af5bafa8-8c04-4a52-a9e9-4c8871ab9e42","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5001411} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea1305ae-a342-4161-a9e5-0446cd5b78c3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5036287} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} device-1 | {"level":"info","message":"GET /devices/666cf822-a4f2-4148-84be-234d664d1662? 200 40ms","method":"GET","requestID":"ca8ec590-32d2-11ef-8c48-074c31242816","responseTime":40,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd0d5e165c60edb140cb0c6587d04c14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.864836,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} device-1 | {"level":"info","message":"GET /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4? 200 45ms","method":"GET","requestID":"ca8e5060-32d2-11ef-8c48-074c31242816","responseTime":45,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","rebac_allow":false,"scope_allow":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":"ca938080-32d2-11ef-8c48-074c31242816"},"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/666cf822-a4f2-4148-84be-234d664d1662/signaling 200 16ms","method":"POST","requestID":"ca938080-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd0d5e165c60edb140cb0c6587d04c14"} experiment-1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"dd0d5e165c60edb140cb0c6587d04c14","responseTime":186,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7c61d8e-146e-4b15-83d2-40a5a0bb4ec6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5213556} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.926449,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","rebac_allow":false,"scope_allow":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":"ca963fa0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"efdc1626c1c594b381aab19d0e06d36a","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/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling 200 17ms","method":"POST","requestID":"ca963fa0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.475084,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"efdc1626c1c594b381aab19d0e06d36a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ad6c655-1426-4abf-88f8-eada25537672","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5407748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.122397719Z"}]},"request_id":"e8eb987e-8abb-4cda-ad69-291d1213babb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5409067} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdc1626c1c594b381aab19d0e06d36a"},"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:52986","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.8801,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","rebac_allow":false,"scope_allow":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":"ca9973f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"efdc1626c1c594b381aab19d0e06d36a"} device-1 | {"level":"info","message":"GET /devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4? 200 20ms","method":"GET","requestID":"efdc1626c1c594b381aab19d0e06d36a","responseTime":20,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/666cf822-a4f2-4148-84be-234d664d1662/signaling 200 17ms","method":"POST","requestID":"ca9973f0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e4860942-9aab-4599-9b13-461902713a1d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e0c5a13e-d420-4643-8be6-8e195820a712"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a207b1fe-b4e5-44cf-a326-9d00fbfbf5a1"}]},"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/036c14e3-842d-47bc-bdb8-65ffd9664ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"36117bd3af759387678afba0d08a78b1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.949708,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} 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":"ca9ca840-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771914,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306639,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjYzOX0.yHxJfqnuTSU4wlaDx3leB3SaV8no304V3V40qTUIDF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36117bd3af759387678afba0d08a78b1"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:37.172878431Z"}]},"request_id":"16105bea-08e9-44b4-9aa2-cc8956b40b20","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5707147} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36117bd3af759387678afba0d08a78b1"},"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":"25/Jun/2024:09:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/666cf822-a4f2-4148-84be-234d664d1662? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36117bd3af759387678afba0d08a78b1"} device-1 | {"level":"info","message":"GET /devices/666cf822-a4f2-4148-84be-234d664d1662? 200 18ms","method":"GET","requestID":"36117bd3af759387678afba0d08a78b1","responseTime":18,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"005cc996-13a2-476a-846a-7eaed9a215bc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5777972} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8cf7dd3f-00cf-46ee-bc66-2a90cb9488e5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.5783806} 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":"ca9ca840-32d2-11ef-8c48-074c31242816"},"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/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"ca9ca840-32d2-11ef-8c48-074c31242816","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662'"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d071ce7e-bcf7-4c68-8b17-120d21215f04","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.645808} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.194241,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","rebac_allow":false,"scope_allow":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":"caa95270-32d2-11ef-8c48-074c31242816"},"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/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling 200 11ms","method":"POST","requestID":"caa95270-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57d24dfd-34ba-4f2f-94b1-8af461394190","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306639.656667} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420736,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","rebac_allow":false,"scope_allow":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":"caab4e40-32d2-11ef-8c48-074c31242816"},"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/666cf822-a4f2-4148-84be-234d664d1662/signaling 200 9ms","method":"POST","requestID":"caab4e40-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/signaling"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","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/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","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":"b64966c4e1e3f84be4ad678c2fe6705b","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/036c14e3-842d-47bc-bdb8-65ffd9664ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"b64966c4e1e3f84be4ad678c2fe6705b","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"b64966c4e1e3f84be4ad678c2fe6705b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0MX0.7uVSAnpFpm99xG_kYS9zR9BY7_0_SsgW-Q40crBw4s0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8a1e1e905aa408fed973aeb652c864b0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.389701,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306641,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0MX0.7uVSAnpFpm99xG_kYS9zR9BY7_0_SsgW-Q40crBw4s0"} 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":"8a1e1e905aa408fed973aeb652c864b0"},"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/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a1e1e905aa408fed973aeb652c864b0"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 21ms","method":"GET","requestID":"8a1e1e905aa408fed973aeb652c864b0","responseTime":21,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662'"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","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/666cf822-a4f2-4148-84be-234d664d1662'"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0MX0.7uVSAnpFpm99xG_kYS9zR9BY7_0_SsgW-Q40crBw4s0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"347585b65c761e541fa607390081c640","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.812222,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306641,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0MX0.7uVSAnpFpm99xG_kYS9zR9BY7_0_SsgW-Q40crBw4s0"} 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":"347585b65c761e541fa607390081c640"},"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/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"347585b65c761e541fa607390081c640"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 28ms","method":"GET","requestID":"347585b65c761e541fa607390081c640","responseTime":28,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e839d4c5b460e7bf757b57888ac1ef72","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.539467,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} 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":"e839d4c5b460e7bf757b57888ac1ef72"},"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/7ba7efae-4eb8-4c27-8740-e83530b864f7"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 20ms","method":"GET","requestID":"e839d4c5b460e7bf757b57888ac1ef72","responseTime":20,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e839d4c5b460e7bf757b57888ac1ef72"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1bcf72ef7702379a47bf4d97a92e671f","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.467876,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} 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":"1bcf72ef7702379a47bf4d97a92e671f"},"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/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bcf72ef7702379a47bf4d97a92e671f"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 18ms","method":"GET","requestID":"1bcf72ef7702379a47bf4d97a92e671f","responseTime":18,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"772ecee51ebe1c0ee38d87af36dc904e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.492313,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d50bbb5b3e78434f0bf0af214d61c83","responseTime":2,"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":"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":"772ecee51ebe1c0ee38d87af36dc904e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"772ecee51ebe1c0ee38d87af36dc904e"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 37ms","method":"GET","requestID":"772ecee51ebe1c0ee38d87af36dc904e","responseTime":37,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb3f03a8-ed2d-4d34-b12f-5c75c8443a42","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ebe0a3d-bafc-4c4d-812a-67628b8774a3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306642.3596644} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.572493,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","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":"cc4723f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"01532051d5315440f44b2d446eddb0ea","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.174688,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} 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":"01532051d5315440f44b2d446eddb0ea"},"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/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01532051d5315440f44b2d446eddb0ea"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 17ms","method":"GET","requestID":"01532051d5315440f44b2d446eddb0ea","responseTime":17,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42 200 196ms","method":"GET","requestID":"cc4723f0-32d2-11ef-8c48-074c31242816","responseTime":196,"status":200,"url":"/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"773b82af99dfec8df8fa590ef3ec174f","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.292956,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} 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":"773b82af99dfec8df8fa590ef3ec174f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 427ms","method":"POST","requestID":"7d50bbb5b3e78434f0bf0af214d61c83","responseTime":427,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.433","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d50bbb5b3e78434f0bf0af214d61c83"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a51c781d-71a6-4c3d-9437-9dac77b30d7e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306642.76295} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.570876,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} gateway-1 | {"time_local":"25/Jun/2024:09:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"773b82af99dfec8df8fa590ef3ec174f"} experiment-1 | {"level":"info","message":"GET /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 200 171ms","method":"GET","requestID":"773b82af99dfec8df8fa590ef3ec174f","responseTime":171,"status":200,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","rebac_allow":false,"scope_allow":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":"cc84f040-32d2-11ef-8c48-074c31242816"},"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/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling 200 12ms","method":"POST","requestID":"cc84f040-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84e8942ad6284bcef391a2add70d8d4c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b49bdd1d-0fc1-4c1f-a164-a84dfbd6c026","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306642.7796655} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.123462,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84e8942ad6284bcef391a2add70d8d4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.145136,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","rebac_allow":false,"scope_allow":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":"cc873a30-32d2-11ef-8c48-074c31242816"},"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/666cf822-a4f2-4148-84be-234d664d1662/signaling 200 15ms","method":"POST","requestID":"cc873a30-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.791098,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306642,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0Mn0.UtQnSzo7MRZiMNho7wX0ONb3efvyF10kvEueQmNlP2s"} 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":"cc8a2060-32d2-11ef-8c48-074c31242816"},"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/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb3f03a8-ed2d-4d34-b12f-5c75c8443a42': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Feb3f03a8-ed2d-4d34-b12f-5c75c8443a42","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"e20bc3b6-4655-4c8a-bdd1-b4108f735793","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306642.813505} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"00265711f82a6f5eb12d038819fb6161","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72ea6839-ee13-4867-8825-554e8860c750","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306642.8138986} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04b6f559ae07caac0c994f0e7ecfd3ed","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc8a2060-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} 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/036c14e3-842d-47bc-bdb8-65ffd9664ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42"}}},"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":"closed","url":"http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"eb3f03a8-ed2d-4d34-b12f-5c75c8443a42","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/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42 204 312ms","method":"DELETE","requestID":"cc8a2060-32d2-11ef-8c48-074c31242816","responseTime":312,"status":204,"url":"/peerconnections/eb3f03a8-ed2d-4d34-b12f-5c75c8443a42"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F036c14e3-842d-47bc-bdb8-65ffd9664ef4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df432eb0-9788-4c26-a554-124c064d533f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.2988183} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.832959,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4","object_type":"device","rebac_allow":false,"scope_allow":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":"ccd692b0-32d2-11ef-8c48-074c31242816"},"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/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling 200 15ms","method":"POST","requestID":"ccd692b0-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F666cf822-a4f2-4148-84be-234d664d1662","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4546286b-c054-4cab-b0cb-6664f2930d83","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.3164725} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.727583,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662","object_type":"device","rebac_allow":false,"scope_allow":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":"ccd978e0-32d2-11ef-8c48-074c31242816"},"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/666cf822-a4f2-4148-84be-234d664d1662/signaling 200 17ms","method":"POST","requestID":"ccd978e0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/666cf822-a4f2-4148-84be-234d664d1662/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ba7efae-4eb8-4c27-8740-e83530b864f7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ba7efae-4eb8-4c27-8740-e83530b864f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"3362db2c-0f8d-4b81-9244-8769e9067a0a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.4855025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2673a4d-f1f6-44f1-8d8d-cc000cc2c278","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.4861507} authorization-1 | {"level":"info","message":"POST /relations/update 200 200ms","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":"84e8942ad6284bcef391a2add70d8d4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":200}} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.116","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84e8942ad6284bcef391a2add70d8d4c"} experiment-1 | {"level":"info","message":"DELETE /experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7 204 1113ms","method":"DELETE","requestID":"84e8942ad6284bcef391a2add70d8d4c","responseTime":1113,"status":204,"url":"/experiments/7ba7efae-4eb8-4c27-8740-e83530b864f7"} gateway-1 | {"time_local":"25/Jun/2024:09:10:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"6.160","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"94ddab4d422bc64878b4be3900e3300f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1072ms","method":"POST","requestID":"00265711f82a6f5eb12d038819fb6161","responseTime":1072,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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":"1.077","http_referrer":"","http_user_agent":"node-fetch","requestID":"00265711f82a6f5eb12d038819fb6161"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 1072ms","method":"POST","requestID":"04b6f559ae07caac0c994f0e7ecfd3ed","responseTime":1072,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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":"1.076","http_referrer":"","http_user_agent":"node-fetch","requestID":"04b6f559ae07caac0c994f0e7ecfd3ed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0M30.HhhUUt4GiFpNlv-Q2U3LDntPmfr_omH1iUWM8vxMjRg","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:10:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"4.642","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e6ee5b48eafcf26fc7ba7c26849e3e97"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:43Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/036c14e3-842d-47bc-bdb8-65ffd9664ef4' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1ea31e4d239c768af3373326691dafd1","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.791139,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306643,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0M30.HhhUUt4GiFpNlv-Q2U3LDntPmfr_omH1iUWM8vxMjRg"} 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":"1ea31e4d239c768af3373326691dafd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/666cf822-a4f2-4148-84be-234d664d1662' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2c3a84b3-79e7-4602-80ea-abc143f4d50f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9126763} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ea31e4d239c768af3373326691dafd1"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7408c58a-896b-4365-897e-b3defc5aac78","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9193797} 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":"1ea31e4d239c768af3373326691dafd1"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"494d9cc2-d64b-4ec8-b6cf-a358ac270163","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9360394} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"07427b81-0c82-4bb8-8986-be1188d01717","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9360752} 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":"1ea31e4d239c768af3373326691dafd1"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"f80d94f5-270a-452e-8edb-897bb83fc4f3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.941831} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ea31e4d239c768af3373326691dafd1"},"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":"25/Jun/2024:09:10:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ea31e4d239c768af3373326691dafd1"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"1ea31e4d239c768af3373326691dafd1","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0M30.HhhUUt4GiFpNlv-Q2U3LDntPmfr_omH1iUWM8vxMjRg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"65b5e287a79ac5c89d03bc21700fdad7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.679417,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306643,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0M30.HhhUUt4GiFpNlv-Q2U3LDntPmfr_omH1iUWM8vxMjRg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65b5e287a79ac5c89d03bc21700fdad7"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"61ddc3c7-940f-4c72-b057-10dbfe1e6fc3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9685426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65b5e287a79ac5c89d03bc21700fdad7"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c0cd484-fb08-4bb5-9591-de15f4291943","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9734905} 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":"65b5e287a79ac5c89d03bc21700fdad7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"01e94003-94eb-44d1-af8a-6bbec6e87b87","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9845097} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67051628-5e95-47c5-96f4-7c6ef0df0a86","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9848044} 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":"65b5e287a79ac5c89d03bc21700fdad7"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"d50bb527-98c0-430e-9aef-abc67879fff4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306643.9889734} 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":"65b5e287a79ac5c89d03bc21700fdad7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65b5e287a79ac5c89d03bc21700fdad7"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"65b5e287a79ac5c89d03bc21700fdad7","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a20ae98c9ba5e77151322f90837c51b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"844962324bed340f3347b47a1ba87b02","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733961,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a20ae98c9ba5e77151322f90837c51b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648542,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"844962324bed340f3347b47a1ba87b02"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"2999ba30-a037-4801-bce5-a8da399f2f7a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.5092082} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a20ae98c9ba5e77151322f90837c51b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"50df7f15-d07d-4ca6-9530-e2b3f9b68780","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.513724} 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":"844962324bed340f3347b47a1ba87b02"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e55d7227-51b4-4ca7-8d84-4201ccd2cc3c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.5157714} 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":"9a20ae98c9ba5e77151322f90837c51b"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a29db4e0-ccf4-4ece-b5d5-c1eaa1ec12a1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.5214806} 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":"844962324bed340f3347b47a1ba87b02"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"a11d98a9-b548-4c4a-b179-51f4cc2ced25","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.5260499} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a20ae98c9ba5e77151322f90837c51b"},"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":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9a20ae98c9ba5e77151322f90837c51b"} device-1 | {"level":"info","message":"PATCH /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99 200 32ms","method":"PATCH","requestID":"9a20ae98c9ba5e77151322f90837c51b","responseTime":32,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a90e9496221075b758b42724676fd319","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"74c9a5ae-3fd3-4932-b6a6-75d417774b05","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.5366402} 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":"844962324bed340f3347b47a1ba87b02"},"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:52986","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697212,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/81526d86-dd4f-442f-bd59-528749325882 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"844962324bed340f3347b47a1ba87b02"} device-1 | {"level":"info","message":"PATCH /devices/81526d86-dd4f-442f-bd59-528749325882 200 41ms","method":"PATCH","requestID":"844962324bed340f3347b47a1ba87b02","responseTime":41,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a90e9496221075b758b42724676fd319"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4a90b7b1fce1670991c69cc1cf58465","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.023337,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"f4a90b7b1fce1670991c69cc1cf58465"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a90e9496221075b758b42724676fd319"} device-1 | {"level":"info","message":"POST /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/websocket 200 19ms","method":"POST","requestID":"a90e9496221075b758b42724676fd319","responseTime":19,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/81526d86-dd4f-442f-bd59-528749325882/websocket 200 16ms","method":"POST","requestID":"f4a90b7b1fce1670991c69cc1cf58465","responseTime":16,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/81526d86-dd4f-442f-bd59-528749325882/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f4a90b7b1fce1670991c69cc1cf58465"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1bdcf80d4d00ab56c2aa4297f5ec5951","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814411,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"1bdcf80d4d00ab56c2aa4297f5ec5951"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"29881f26-b078-4873-9965-630f61873a71","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.6029217} 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":"1bdcf80d4d00ab56c2aa4297f5ec5951"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bdcf80d4d00ab56c2aa4297f5ec5951"} device-1 | {"level":"info","message":"GET /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99? 200 14ms","method":"GET","requestID":"1bdcf80d4d00ab56c2aa4297f5ec5951","responseTime":14,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8e1568252aff1ce3b6665a9cf8ebfc84","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951182,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"8e1568252aff1ce3b6665a9cf8ebfc84"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"335cd8a5-b857-42e4-af98-73ee4e18d51e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.6253057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e1568252aff1ce3b6665a9cf8ebfc84"},"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":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81526d86-dd4f-442f-bd59-528749325882? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e1568252aff1ce3b6665a9cf8ebfc84"} device-1 | {"level":"info","message":"GET /devices/81526d86-dd4f-442f-bd59-528749325882? 200 16ms","method":"GET","requestID":"8e1568252aff1ce3b6665a9cf8ebfc84","responseTime":16,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9ca9bdcea8ef36d734b8f6107fa044db","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:52986","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.795508,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"9ca9bdcea8ef36d734b8f6107fa044db"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"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:52986","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968947,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdab95f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82344,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"cdabe410-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"96ddc8a5-1cac-446d-9094-3e7bef2f12d5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.6995416} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdab95f0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"6900ec8e-256b-415d-b2ca-1cda526ab23c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.7010515} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdabe410-32d2-11ef-8c48-074c31242816"},"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/f9bf05fb-c222-4cdb-a5f8-454fb886df99? 200 20ms","method":"GET","requestID":"cdab95f0-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/81526d86-dd4f-442f-bd59-528749325882? 200 20ms","method":"GET","requestID":"cdabe410-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"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:52986","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911623,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdb99fb0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.073759,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"cdba14e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b24f627b-90ba-41d4-ad46-7b4d1bfddf96","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.7937198} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.407167,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","rebac_allow":false,"scope_allow":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":"cdba8a10-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"3d8bcf16-ae45-418a-be30-b2d4a004d9cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.796461} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"68ed815a-257a-4ede-a878-7feb462ebe78","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.7993724} 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":"cdb99fb0-32d2-11ef-8c48-074c31242816"},"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 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":"cdba14e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling 200 20ms","method":"POST","requestID":"cdba8a10-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99? 200 30ms","method":"GET","requestID":"cdb99fb0-32d2-11ef-8c48-074c31242816","responseTime":30,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/81526d86-dd4f-442f-bd59-528749325882? 200 30ms","method":"GET","requestID":"cdba14e0-32d2-11ef-8c48-074c31242816","responseTime":30,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4436d46-5a83-4fb2-aaa8-62d68f0a6e7a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8154757} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.388822,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","rebac_allow":false,"scope_allow":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":"cdbe3390-32d2-11ef-8c48-074c31242816"},"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/81526d86-dd4f-442f-bd59-528749325882/signaling 200 11ms","method":"POST","requestID":"cdbe3390-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e05d195-98b8-4a79-a4f5-1e7973360223","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8213346} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.850955,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","rebac_allow":false,"scope_allow":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":"cdbf1df0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce22ae00-80e3-4be2-9095-3024438232f1#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce22ae00-80e3-4be2-9095-3024438232f1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"355150b5-ed5d-4706-8924-be1cdd1b741d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8224797} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8bad02d-fd71-447d-adbf-ba84aedcafbc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8228984} 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":"9ca9bdcea8ef36d734b8f6107fa044db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling 200 11ms","method":"POST","requestID":"cdbf1df0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ca9bdcea8ef36d734b8f6107fa044db"} experiment-1 | {"level":"info","message":"POST /experiments? 201 196ms","method":"POST","requestID":"9ca9bdcea8ef36d734b8f6107fa044db","responseTime":196,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ed6a556-5633-4b51-ae2c-209784ef3e3d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8356638} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.592281,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","rebac_allow":false,"scope_allow":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":"cdc167e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b2ead2b66a16e627d2066a85109a6ba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/81526d86-dd4f-442f-bd59-528749325882/signaling 200 10ms","method":"POST","requestID":"cdc167e0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cc95312e-eaa0-4ea0-b3fc-6c83d48ea4cc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8e860d40-edc0-437c-b222-13daf1a6baa7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7db85c33-feeb-469f-9852-facfc082bd03"}]},"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/81526d86-dd4f-442f-bd59-528749325882"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783044,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"8b2ead2b66a16e627d2066a85109a6ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.660119,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"cdc363b0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.936061398Z"}]},"request_id":"208b1942-4a48-4d06-af9f-c988510c3e13","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8485236} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b2ead2b66a16e627d2066a85109a6ba"},"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/f9bf05fb-c222-4cdb-a5f8-454fb886df99? 200 12ms","method":"GET","requestID":"8b2ead2b66a16e627d2066a85109a6ba","responseTime":12,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b2ead2b66a16e627d2066a85109a6ba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fcde81d82119a01c226607f7066da053","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"fd73911f-3a4a-4a88-a37a-0802c6ab2eb9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8594894} 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5271d9e-8772-4b34-aa60-7153f22d4461","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.8598251} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdc363b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843048,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306644,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0NH0.5j_SD9-VlPXl6BDQr9u1diLzG2vB1vZphJjW2gXg3ts"} 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":"fcde81d82119a01c226607f7066da053"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:43.984492891Z"}]},"request_id":"6d30bff3-19d7-45bf-8a50-607c311ff384","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.86811} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcde81d82119a01c226607f7066da053"},"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/278d194f-bb86-4286-9150-45b0c0b08275'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"cdc363b0-32d2-11ef-8c48-074c31242816","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81526d86-dd4f-442f-bd59-528749325882? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcde81d82119a01c226607f7066da053"} device-1 | {"level":"info","message":"GET /devices/81526d86-dd4f-442f-bd59-528749325882? 200 16ms","method":"GET","requestID":"fcde81d82119a01c226607f7066da053","responseTime":16,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"121224ed-f10b-4edf-8aae-09dac2a795bf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.905856} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.518035,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","rebac_allow":false,"scope_allow":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":"cdcc3d50-32d2-11ef-8c48-074c31242816"},"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/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling 200 9ms","method":"POST","requestID":"cdcc3d50-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ac42915-bf82-4eac-aa6a-679e4d6fe12c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306644.917165} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.463817,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cdcdeb00-32d2-11ef-8c48-074c31242816"},"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/81526d86-dd4f-442f-bd59-528749325882/signaling 200 10ms","method":"POST","requestID":"cdcdeb00-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882/signaling"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","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/278d194f-bb86-4286-9150-45b0c0b08275' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","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":"79f578eb1daaeb28001e603144946709","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/81526d86-dd4f-442f-bd59-528749325882"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"79f578eb1daaeb28001e603144946709","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"79f578eb1daaeb28001e603144946709"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","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/278d194f-bb86-4286-9150-45b0c0b08275' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","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":"3ecac39cbba840e98fdf4b8fb3a018c4","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/81526d86-dd4f-442f-bd59-528749325882"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F278d194f-bb86-4286-9150-45b0c0b08275","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89b2fc75-c026-41ca-8c8f-ea3e0dc983b2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.0124905} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.84325,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275","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":"cf0d48d0-32d2-11ef-8c48-074c31242816"},"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/278d194f-bb86-4286-9150-45b0c0b08275 200 13ms","method":"GET","requestID":"cf0d48d0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"3ecac39cbba840e98fdf4b8fb3a018c4","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ecac39cbba840e98fdf4b8fb3a018c4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"047c3df2-17ac-4871-9d0c-ab40a714009a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.0562732} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.020781,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","rebac_allow":false,"scope_allow":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":"cf13ff90-32d2-11ef-8c48-074c31242816"},"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/81526d86-dd4f-442f-bd59-528749325882/signaling 200 14ms","method":"POST","requestID":"cf13ff90-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02c4e6ca-64b9-477d-b682-0d39234c20f1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.0751677} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.355698,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","rebac_allow":false,"scope_allow":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":"cf1697a0-32d2-11ef-8c48-074c31242816"},"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/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling 200 16ms","method":"POST","requestID":"cf1697a0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ab8ef760732d4b2eb69c2b4fef04e06e","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ce22ae00-80e3-4be2-9095-3024438232f1"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.217767,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"ab8ef760732d4b2eb69c2b4fef04e06e"},"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/ce22ae00-80e3-4be2-9095-3024438232f1"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ce22ae00-80e3-4be2-9095-3024438232f1 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab8ef760732d4b2eb69c2b4fef04e06e"} experiment-1 | {"level":"info","message":"GET /experiments/ce22ae00-80e3-4be2-9095-3024438232f1 200 17ms","method":"GET","requestID":"ab8ef760732d4b2eb69c2b4fef04e06e","responseTime":17,"status":200,"url":"/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15325cfb69f08c1b46412ac33526ab67","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ce22ae00-80e3-4be2-9095-3024438232f1"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.186603,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"15325cfb69f08c1b46412ac33526ab67"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.261365,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"cf205ba0-32d2-11ef-8c48-074c31242816"},"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/278d194f-bb86-4286-9150-45b0c0b08275' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F278d194f-bb86-4286-9150-45b0c0b08275': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F278d194f-bb86-4286-9150-45b0c0b08275","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"cdc43901-c3f2-4374-8aa6-655723f79022","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.1576395} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"73d0c8bf2bcb1ff1169f2acb5247e1e6","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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c83e893c-a67b-40b1-adc7-9e8d947e52c0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.158401} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b31fdcf945d9d1db5cf0c6a6aea0edc1","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/81526d86-dd4f-442f-bd59-528749325882"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf205ba0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} 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/81526d86-dd4f-442f-bd59-528749325882"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"278d194f-bb86-4286-9150-45b0c0b08275","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/278d194f-bb86-4286-9150-45b0c0b08275 204 52ms","method":"DELETE","requestID":"cf205ba0-32d2-11ef-8c48-074c31242816","responseTime":52,"status":204,"url":"/peerconnections/278d194f-bb86-4286-9150-45b0c0b08275"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81526d86-dd4f-442f-bd59-528749325882","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9201889-13bc-46a8-ac55-29c15f08a472","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.213845} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897036,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882","object_type":"device","rebac_allow":false,"scope_allow":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":"cf2c1b70-32d2-11ef-8c48-074c31242816"},"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/81526d86-dd4f-442f-bd59-528749325882/signaling 200 14ms","method":"POST","requestID":"cf2c1b70-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/81526d86-dd4f-442f-bd59-528749325882/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce22ae00-80e3-4be2-9095-3024438232f1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fce22ae00-80e3-4be2-9095-3024438232f1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"76008691-5f80-4d1c-b4d8-be6d7e461672","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.2207851} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61332586-c58b-4521-887f-917849fdbf03","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.221087} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15325cfb69f08c1b46412ac33526ab67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9bf05fb-c222-4cdb-a5f8-454fb886df99","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a64136f2-c5bf-4940-9531-5803994ebf3f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.2278812} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.979782,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99","object_type":"device","rebac_allow":false,"scope_allow":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":"cf2e8c70-32d2-11ef-8c48-074c31242816"},"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/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling 200 12ms","method":"POST","requestID":"cf2e8c70-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ce22ae00-80e3-4be2-9095-3024438232f1"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ce22ae00-80e3-4be2-9095-3024438232f1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15325cfb69f08c1b46412ac33526ab67"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.712","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a1e10587a874eb2061ef4b4ed6e24506"} experiment-1 | {"level":"info","message":"DELETE /experiments/ce22ae00-80e3-4be2-9095-3024438232f1 204 165ms","method":"DELETE","requestID":"15325cfb69f08c1b46412ac33526ab67","responseTime":165,"status":204,"url":"/experiments/ce22ae00-80e3-4be2-9095-3024438232f1"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.721","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bc8f5ace0feda77cca6489a73bc8457a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"73d0c8bf2bcb1ff1169f2acb5247e1e6","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"73d0c8bf2bcb1ff1169f2acb5247e1e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"b31fdcf945d9d1db5cf0c6a6aea0edc1","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"b31fdcf945d9d1db5cf0c6a6aea0edc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ef52c881f53580dbce859de24b8ea03f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f9bf05fb-c222-4cdb-a5f8-454fb886df99' closed"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.740488,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"ef52c881f53580dbce859de24b8ea03f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/81526d86-dd4f-442f-bd59-528749325882' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1069a7-b816-49cc-ab45-699a2a8206b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4a0a400e-b788-482f-994c-ab2d716be910","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.314162} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef52c881f53580dbce859de24b8ea03f"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7328328-fac2-41bf-a1e1-cd7ba15d02a5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3203607} 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":"ef52c881f53580dbce859de24b8ea03f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1069a7-b816-49cc-ab45-699a2a8206b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"b93aae82-db7d-4cc6-aed2-6276aec892b3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3306901} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fbd3db1-93b8-4807-924d-698638b97437","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3309011} 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":"ef52c881f53580dbce859de24b8ea03f"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1069a7-b816-49cc-ab45-699a2a8206b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b1069a7-b816-49cc-ab45-699a2a8206b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.330677772Z"}]},"request_id":"a52c3133-3209-448c-b484-776ac0a2e7df","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3360674} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef52c881f53580dbce859de24b8ea03f"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef52c881f53580dbce859de24b8ea03f"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"ef52c881f53580dbce859de24b8ea03f","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b9a6273ce80c0e0ca52b9883ff04e21","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73927,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b9a6273ce80c0e0ca52b9883ff04e21"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd30665c3-d230-491e-b972-a940ebfd4c95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a3b34736-b163-4c43-aa7e-360eab6e8eea","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3631961} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b9a6273ce80c0e0ca52b9883ff04e21"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47bfe2de-9db6-44d8-b5c0-be36b53ebac6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.368829} 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":"5b9a6273ce80c0e0ca52b9883ff04e21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd30665c3-d230-491e-b972-a940ebfd4c95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"b344f1df-f81c-4280-bce3-f5b47964399e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3850634} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8b334b0-1cd6-4b63-aa84-c97768edf1b3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3852284} 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":"5b9a6273ce80c0e0ca52b9883ff04e21"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd30665c3-d230-491e-b972-a940ebfd4c95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd30665c3-d230-491e-b972-a940ebfd4c95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.385045944Z"}]},"request_id":"73bfdf04-9edf-4b90-945e-6de0d05fb73a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.3896365} 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":"5b9a6273ce80c0e0ca52b9883ff04e21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b9a6273ce80c0e0ca52b9883ff04e21"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"5b9a6273ce80c0e0ca52b9883ff04e21","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43bd0812befa970e3f65610678313093","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.697463,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43bd0812befa970e3f65610678313093"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578fe3f4-6784-47df-8da8-6a4fb34b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c2da5cdd-e824-4ec8-9388-fc3fadbca7d6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4159656} 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":"43bd0812befa970e3f65610678313093"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8b618c1-f18a-4e52-88ea-1b5e444fee27","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.421884} 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":"43bd0812befa970e3f65610678313093"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578fe3f4-6784-47df-8da8-6a4fb34b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"09603417-9c36-4c91-8601-d13cb31e1d40","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.43173} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1db92022-f9f2-4af8-8657-53a1aed5f12b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4323852} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43bd0812befa970e3f65610678313093"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578fe3f4-6784-47df-8da8-6a4fb34b562f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F578fe3f4-6784-47df-8da8-6a4fb34b562f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.431715621Z"}]},"request_id":"98effc58-ee37-4719-ba5a-2987fff78fca","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4365191} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43bd0812befa970e3f65610678313093"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43bd0812befa970e3f65610678313093"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"43bd0812befa970e3f65610678313093","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa4901ea88b7ba25aaf63e8a54238995","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.663864,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"fa4901ea88b7ba25aaf63e8a54238995"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46e9707f-390c-4cd6-a971-fd7be6d0558b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0b96ffa-dbfb-4f81-b7a0-9c71985f0f67","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4646065} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa4901ea88b7ba25aaf63e8a54238995"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7a54e24-086a-417a-b8b8-b03c42721a15","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4731958} 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":"fa4901ea88b7ba25aaf63e8a54238995"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46e9707f-390c-4cd6-a971-fd7be6d0558b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"d6e0b216-fad5-4737-b57b-4dda4a02714c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4921596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da266d67-e90a-4d9b-951e-910f219e64f3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.4923418} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa4901ea88b7ba25aaf63e8a54238995"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46e9707f-390c-4cd6-a971-fd7be6d0558b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46e9707f-390c-4cd6-a971-fd7be6d0558b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.492133486Z"}]},"request_id":"dea3955c-faa7-460a-83a6-4bc067547703","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.5000231} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa4901ea88b7ba25aaf63e8a54238995"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa4901ea88b7ba25aaf63e8a54238995"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"fa4901ea88b7ba25aaf63e8a54238995","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3556350df607029ca0d24ac0a463bbeb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.124728,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"3556350df607029ca0d24ac0a463bbeb"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb3ba47-c363-44c7-9152-b0247d0da197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3d59ee3c-582b-4ca2-8bfb-075b1919fbc5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.5382748} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3556350df607029ca0d24ac0a463bbeb"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb1f9dff-ee98-4657-b804-7ec1cfd36271","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.546085} 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":"3556350df607029ca0d24ac0a463bbeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb3ba47-c363-44c7-9152-b0247d0da197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1dacbe39-20c6-4f6c-b9ef-de695b465c5f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.5586352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86d4f0f2-42f1-4a6c-85cc-1ee8a73dacb7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.5590231} 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":"3556350df607029ca0d24ac0a463bbeb"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb3ba47-c363-44c7-9152-b0247d0da197","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb3ba47-c363-44c7-9152-b0247d0da197","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.558609330Z"}]},"request_id":"b2315320-243e-4fcc-a4bf-69f29d9569f3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.5639617} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3556350df607029ca0d24ac0a463bbeb"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3556350df607029ca0d24ac0a463bbeb"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"3556350df607029ca0d24ac0a463bbeb","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3b211606ec78c24d57773b8b055b6dab","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.342108,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"3b211606ec78c24d57773b8b055b6dab"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bfe9bbb-be24-4d2b-9970-2616173e8f39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d1ab617f-1d57-44c8-956f-8eae01aa080d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.6001627} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b211606ec78c24d57773b8b055b6dab"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2877e9e5-fccf-4ff7-b8fc-e4eacece88c7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.608206} 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":"3b211606ec78c24d57773b8b055b6dab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bfe9bbb-be24-4d2b-9970-2616173e8f39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"32ea7bdf-0f88-4819-ba95-b16720af9e8a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.6252813} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c65b7f1-aabe-4f3e-85b8-cd99091adcde","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.6254916} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b211606ec78c24d57773b8b055b6dab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bfe9bbb-be24-4d2b-9970-2616173e8f39","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bfe9bbb-be24-4d2b-9970-2616173e8f39","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.625253830Z"}]},"request_id":"405b15e9-2715-4c2d-ba43-6c56fc151707","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.632611} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b211606ec78c24d57773b8b055b6dab"},"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 60ms","method":"POST","requestID":"3b211606ec78c24d57773b8b055b6dab","responseTime":60,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b211606ec78c24d57773b8b055b6dab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7bb5d7da311a11afed6928bae064d529","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.228179,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"7bb5d7da311a11afed6928bae064d529"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e732315-8a1b-44b7-ae8f-ddba80208135","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bfded29c-5415-4a22-bcbb-11ee073084bd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.6695123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bb5d7da311a11afed6928bae064d529"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25aa617d-3c53-48f3-8d42-42f5bec23f13","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.677625} 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":"7bb5d7da311a11afed6928bae064d529"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e732315-8a1b-44b7-ae8f-ddba80208135","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"20d8aec8-7572-4686-89d9-fee279f15f40","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.690874} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c1e34c5-bd9e-4544-b9ec-61d0ecb96399","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.6910405} 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":"7bb5d7da311a11afed6928bae064d529"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e732315-8a1b-44b7-ae8f-ddba80208135","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4e732315-8a1b-44b7-ae8f-ddba80208135","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.690848500Z"}]},"request_id":"e86f4f1c-e95e-4662-b4f8-ab170fd50a96","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.698549} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bb5d7da311a11afed6928bae064d529"},"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 57ms","method":"POST","requestID":"7bb5d7da311a11afed6928bae064d529","responseTime":57,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bb5d7da311a11afed6928bae064d529"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca1ce1c616176be963a4481e708d40ae","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.880453,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"ca1ce1c616176be963a4481e708d40ae"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe284b7f6-0296-4587-9693-1ca623e34298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c80ff247-99a6-48b3-9c74-cb034d869dde","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.7337244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1ce1c616176be963a4481e708d40ae"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65df7275-b203-43f9-89c3-2094dc18b0e3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.7409961} 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":"ca1ce1c616176be963a4481e708d40ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe284b7f6-0296-4587-9693-1ca623e34298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"4929f137-43e4-4501-a8eb-b0beb97674b0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.7593925} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30c00916-9b53-4044-814a-09091d8b1089","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.759707} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1ce1c616176be963a4481e708d40ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe284b7f6-0296-4587-9693-1ca623e34298","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe284b7f6-0296-4587-9693-1ca623e34298","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.759359107Z"}]},"request_id":"7cce9d8a-3fb1-49b2-aade-4f9f47017833","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.765966} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca1ce1c616176be963a4481e708d40ae"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca1ce1c616176be963a4481e708d40ae"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"ca1ce1c616176be963a4481e708d40ae","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"060e60a51eb304b090917bd2d9030777","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.251993,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"060e60a51eb304b090917bd2d9030777"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeea144f-26c4-4770-a954-a56349a22605","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2196c234-bbfc-462a-b49f-effe46501400","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8026245} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"060e60a51eb304b090917bd2d9030777"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ffd0ff7-7afb-4c02-b4fd-5661c7dc7267","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8099954} 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":"060e60a51eb304b090917bd2d9030777"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeea144f-26c4-4770-a954-a56349a22605","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8cf50167-ab25-4098-9f64-7b83fd852822","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.822739} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3c2c412-b1fe-4a2b-933f-c4441bd59a7a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8232284} 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":"060e60a51eb304b090917bd2d9030777"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeea144f-26c4-4770-a954-a56349a22605","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faeea144f-26c4-4770-a954-a56349a22605","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.822709613Z"}]},"request_id":"834fb245-ab55-4e94-8e53-528d3ac664fc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8294117} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"060e60a51eb304b090917bd2d9030777"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"060e60a51eb304b090917bd2d9030777"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"060e60a51eb304b090917bd2d9030777","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"89ab626eadef34435a56d8da32b23726","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.961415,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"89ab626eadef34435a56d8da32b23726"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d82b148-1a7d-428a-87e0-0b96d88c188a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9aea25a0-406b-4ec7-a3de-017beb84b45d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8648667} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89ab626eadef34435a56d8da32b23726"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbe9bf1e-fe3c-48e0-881b-ce4fc9f448a1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8712156} 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":"89ab626eadef34435a56d8da32b23726"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d82b148-1a7d-428a-87e0-0b96d88c188a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5c18059e-c266-4bbd-975d-207538aaa6ca","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8792794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85a450f9-d361-46bd-bf5f-745d369e84f8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8794608} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89ab626eadef34435a56d8da32b23726"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d82b148-1a7d-428a-87e0-0b96d88c188a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d82b148-1a7d-428a-87e0-0b96d88c188a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.879266074Z"}]},"request_id":"46589c79-908b-4aa7-a348-aa8777ae698f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.8841667} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89ab626eadef34435a56d8da32b23726"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89ab626eadef34435a56d8da32b23726"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"89ab626eadef34435a56d8da32b23726","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a253e1206032b03bbb52ac7f0e5d8092","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.705828,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a253e1206032b03bbb52ac7f0e5d8092"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4a0e471e-d98a-49a6-a4e3-b8d228ba578b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9244406} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a253e1206032b03bbb52ac7f0e5d8092"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"74fb2391-39d6-4dd6-b44f-89cd30101e18","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9353707} 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":"a253e1206032b03bbb52ac7f0e5d8092"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"f865c31a-490e-49e2-8edf-accb9233cdb3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9469044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92935898-5d5f-4476-894c-4c270001938b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9471822} 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":"a253e1206032b03bbb52ac7f0e5d8092"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.946885749Z"}]},"request_id":"9d007a82-6e37-4c0f-8011-340e181a8afd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9528131} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a253e1206032b03bbb52ac7f0e5d8092"},"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":"25/Jun/2024:09:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a253e1206032b03bbb52ac7f0e5d8092"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"a253e1206032b03bbb52ac7f0e5d8092","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ad02f88987dc6545625a4ff96f75ff3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.407886,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306647,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0N30.fQb0F6IqN9usO5I32-oPe9mrxMjOGDNER28vcfIb0uc"} 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":"5ad02f88987dc6545625a4ff96f75ff3"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"62d7111b-92a3-4bf1-9257-b1ab10908e68","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9888952} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ad02f88987dc6545625a4ff96f75ff3"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bb1fc5c-4e5a-446e-88ef-b01952fbec8f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306647.9963787} 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":"5ad02f88987dc6545625a4ff96f75ff3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"fd59effa-5945-4674-bbad-6a42ca9f4f9f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0093665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffc3b65d-8ee6-4409-b8a8-16a34c872a90","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0096264} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ad02f88987dc6545625a4ff96f75ff3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.009349654Z"}]},"request_id":"10d5ba17-33ad-48e7-a0d8-63b36145cc15","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0208178} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ad02f88987dc6545625a4ff96f75ff3"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ad02f88987dc6545625a4ff96f75ff3"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"5ad02f88987dc6545625a4ff96f75ff3","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4cfc6260b021a26dab8d0a43e622d9d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.747707,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"e4cfc6260b021a26dab8d0a43e622d9d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9d00063e-c085-4850-9a80-48d77019bcfe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0596135} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4cfc6260b021a26dab8d0a43e622d9d"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1292ab08-9f95-4d49-aa2b-fe9b41472f27","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0664654} 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":"e4cfc6260b021a26dab8d0a43e622d9d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"3625984f-9714-4340-a65c-1c02acd9f298","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.078524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19dc8fd2-ebb3-473e-822d-1e8af22f4315","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0787942} 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":"e4cfc6260b021a26dab8d0a43e622d9d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.078497205Z"}]},"request_id":"19f51c9d-44e3-4677-8f8b-ce2791de148d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.0846796} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4cfc6260b021a26dab8d0a43e622d9d"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4cfc6260b021a26dab8d0a43e622d9d"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"e4cfc6260b021a26dab8d0a43e622d9d","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"49d7b88d26f90082d4110cd6b32c0a8c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216464,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49d7b88d26f90082d4110cd6b32c0a8c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.946885749Z"}]},"request_id":"a83a4647-25c7-4aed-a4d7-22a157a8aea2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.117552} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49d7b88d26f90082d4110cd6b32c0a8c"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6fd228dc-5178-4b4b-b867-c7be4e216f50","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.1266627} 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":"49d7b88d26f90082d4110cd6b32c0a8c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.946885749Z"}]},"request_id":"10ff3eba-c34d-4b61-941a-c27f928b55c6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.1374815} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49d7b88d26f90082d4110cd6b32c0a8c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49d7b88d26f90082d4110cd6b32c0a8c"} device-1 | {"level":"info","message":"PATCH /devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506? 200 39ms","method":"PATCH","requestID":"49d7b88d26f90082d4110cd6b32c0a8c","responseTime":39,"status":200,"url":"/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3a0b44e6a4b5c4829a6566f3bbc172aa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220422,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a0b44e6a4b5c4829a6566f3bbc172aa"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.009349654Z"}]},"request_id":"a98d55df-c433-432c-8db4-17ebc60d1467","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.163407} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a0b44e6a4b5c4829a6566f3bbc172aa"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e0a058c-1203-459a-84e1-faf70a4f6020","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.1699889} 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":"3a0b44e6a4b5c4829a6566f3bbc172aa"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.009349654Z"}]},"request_id":"4518becf-e9a8-4cf6-82cc-055b3abe370e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.18003} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a0b44e6a4b5c4829a6566f3bbc172aa"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a0b44e6a4b5c4829a6566f3bbc172aa"} device-1 | {"level":"info","message":"PATCH /devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c? 200 34ms","method":"PATCH","requestID":"3a0b44e6a4b5c4829a6566f3bbc172aa","responseTime":34,"status":200,"url":"/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"66b8ef6af1a1fa3593fbe13696d73690","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912468,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7d7aba5b-831a-4a11-8434-1d6106435a80","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7d7aba5b-831a-4a11-8434-1d6106435a80","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66b8ef6af1a1fa3593fbe13696d73690"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.078497205Z"}]},"request_id":"102d9b8d-9250-4d36-a578-cd6cc19681c0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.203996} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66b8ef6af1a1fa3593fbe13696d73690"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3190c5d-3097-45ce-9d3a-00fda79d5aad","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.2100468} 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":"66b8ef6af1a1fa3593fbe13696d73690"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.078497205Z"}]},"request_id":"2d02cab2-c4be-4b31-9c08-5a4e528e7c20","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.2247932} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66b8ef6af1a1fa3593fbe13696d73690"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7d7aba5b-831a-4a11-8434-1d6106435a80? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66b8ef6af1a1fa3593fbe13696d73690"} device-1 | {"level":"info","message":"PATCH /devices/7d7aba5b-831a-4a11-8434-1d6106435a80? 200 36ms","method":"PATCH","requestID":"66b8ef6af1a1fa3593fbe13696d73690","responseTime":36,"status":200,"url":"/devices/7d7aba5b-831a-4a11-8434-1d6106435a80?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e2f62e8e2a76d22c42b5d6667265f82","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205526,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e2f62e8e2a76d22c42b5d6667265f82"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F777f7f7c-284c-4de5-8c6d-d1a16b1cd506","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:47.946885749Z"}]},"request_id":"140d10b6-045f-47f5-9d7a-b824bb1099e4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.246027} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e2f62e8e2a76d22c42b5d6667265f82"},"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:52986","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669746,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130433,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b1069a7-b816-49cc-ab45-699a2a8206b4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6b1069a7-b816-49cc-ab45-699a2a8206b4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e2f62e8e2a76d22c42b5d6667265f82"},"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/d30665c3-d230-491e-b972-a940ebfd4c95","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d30665c3-d230-491e-b972-a940ebfd4c95","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e2f62e8e2a76d22c42b5d6667265f82"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:59798","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59798","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.985762,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.506131,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/578fe3f4-6784-47df-8da8-6a4fb34b562f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/578fe3f4-6784-47df-8da8-6a4fb34b562f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e2f62e8e2a76d22c42b5d6667265f82"},"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/8e979589-3ef9-4e75-a45c-f6f11c47bf7c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e2f62e8e2a76d22c42b5d6667265f82"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e2f62e8e2a76d22c42b5d6667265f82"} device-1 | {"level":"info","message":"GET /devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506? 200 36ms","method":"GET","requestID":"4e2f62e8e2a76d22c42b5d6667265f82","responseTime":36,"status":200,"url":"/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f124cb488ee4adc2bae1ea37861306ca","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.355618,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f124cb488ee4adc2bae1ea37861306ca"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e979589-3ef9-4e75-a45c-f6f11c47bf7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.009349654Z"}]},"request_id":"2acb0f1a-7ebc-4e84-a17c-dc472c8e69a6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.2937288} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f124cb488ee4adc2bae1ea37861306ca"},"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:52986","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.814779,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397432,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59798","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59798","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.150179,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46e9707f-390c-4cd6-a971-fd7be6d0558b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/46e9707f-390c-4cd6-a971-fd7be6d0558b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"f124cb488ee4adc2bae1ea37861306ca"},"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/5bb3ba47-c363-44c7-9152-b0247d0da197","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/5bb3ba47-c363-44c7-9152-b0247d0da197","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"f124cb488ee4adc2bae1ea37861306ca"},"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/9bfe9bbb-be24-4d2b-9970-2616173e8f39","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9bfe9bbb-be24-4d2b-9970-2616173e8f39","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"f124cb488ee4adc2bae1ea37861306ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297759,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4e732315-8a1b-44b7-ae8f-ddba80208135","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4e732315-8a1b-44b7-ae8f-ddba80208135","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"f124cb488ee4adc2bae1ea37861306ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59826","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.629336,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7d7aba5b-831a-4a11-8434-1d6106435a80","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7d7aba5b-831a-4a11-8434-1d6106435a80","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f124cb488ee4adc2bae1ea37861306ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:59826","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.88737,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"f124cb488ee4adc2bae1ea37861306ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f124cb488ee4adc2bae1ea37861306ca"} device-1 | {"level":"info","message":"GET /devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c? 200 55ms","method":"GET","requestID":"f124cb488ee4adc2bae1ea37861306ca","responseTime":55,"status":200,"url":"/devices/8e979589-3ef9-4e75-a45c-f6f11c47bf7c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e8b1e1100e0224ba7a51be3bc6f303c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.650781,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7d7aba5b-831a-4a11-8434-1d6106435a80","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7d7aba5b-831a-4a11-8434-1d6106435a80","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e8b1e1100e0224ba7a51be3bc6f303c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7d7aba5b-831a-4a11-8434-1d6106435a80","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.078497205Z"}]},"request_id":"a6fa9056-8b9c-4d6c-ab01-20bda17707a9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.3598065} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e8b1e1100e0224ba7a51be3bc6f303c"},"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:52986","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.14856,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.461954,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59798","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59798","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.287637,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e284b7f6-0296-4587-9693-1ca623e34298","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e284b7f6-0296-4587-9693-1ca623e34298","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e8b1e1100e0224ba7a51be3bc6f303c"},"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/aeea144f-26c4-4770-a954-a56349a22605","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/aeea144f-26c4-4770-a954-a56349a22605","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e8b1e1100e0224ba7a51be3bc6f303c"},"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/8d82b148-1a7d-428a-87e0-0b96d88c188a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8d82b148-1a7d-428a-87e0-0b96d88c188a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e8b1e1100e0224ba7a51be3bc6f303c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"client_addr":"127.0.0.1:59812","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.682674,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/777f7f7c-284c-4de5-8c6d-d1a16b1cd506","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"4e8b1e1100e0224ba7a51be3bc6f303c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7d7aba5b-831a-4a11-8434-1d6106435a80? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e8b1e1100e0224ba7a51be3bc6f303c"} device-1 | {"level":"info","message":"GET /devices/7d7aba5b-831a-4a11-8434-1d6106435a80? 200 49ms","method":"GET","requestID":"4e8b1e1100e0224ba7a51be3bc6f303c","responseTime":49,"status":200,"url":"/devices/7d7aba5b-831a-4a11-8434-1d6106435a80?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe1c04d856206594bec308a5a6aa1b9e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839278,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe1c04d856206594bec308a5a6aa1b9e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1e3974a4-c56a-4df3-87e1-0a8d7cb8ce6c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4255478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe1c04d856206594bec308a5a6aa1b9e"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95bcc013-8323-4dfa-97a5-0b54b1c7ba1d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4323533} 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":"fe1c04d856206594bec308a5a6aa1b9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"47c7eb73-386e-403b-9717-c3cf3c090ad9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4452703} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b799af0-c210-4d61-ad89-78f535137b14","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4453785} 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":"fe1c04d856206594bec308a5a6aa1b9e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.445255861Z"}]},"request_id":"b646fa88-d56c-4e8c-8d89-96d7c2cae17a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4504418} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe1c04d856206594bec308a5a6aa1b9e"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe1c04d856206594bec308a5a6aa1b9e"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"fe1c04d856206594bec308a5a6aa1b9e","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de373e200e3c5f792ab416520c2d74f9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.13717,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"de373e200e3c5f792ab416520c2d74f9"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5870ac34-bd13-4a04-be74-65682739e325","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"82ab7c6e-6167-44b9-ba74-513425206f31","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.479678} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de373e200e3c5f792ab416520c2d74f9"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64a072db-d0f7-40ea-89aa-1b8334e80e48","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.485334} 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":"de373e200e3c5f792ab416520c2d74f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5870ac34-bd13-4a04-be74-65682739e325","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e82308c5-b06c-4ca6-a0d1-bb1b7a9faa15","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4979544} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ec00771-089b-41c3-8569-acbf43ffde3c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.4983416} 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":"de373e200e3c5f792ab416520c2d74f9"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5870ac34-bd13-4a04-be74-65682739e325","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5870ac34-bd13-4a04-be74-65682739e325","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.497922191Z"}]},"request_id":"da6e25a8-b2db-488e-bdc8-81142251983b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.5040336} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de373e200e3c5f792ab416520c2d74f9"},"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":"25/Jun/2024:09:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de373e200e3c5f792ab416520c2d74f9"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"de373e200e3c5f792ab416520c2d74f9","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bc29217b6c357c32b66d61cb09e9e968","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.244179,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306648,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY0OH0.-KRbTq6WBxpuiof8-IJ-ZQVuzHOyZpOa1IqS8_slxJA"} 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":"bc29217b6c357c32b66d61cb09e9e968"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a2a90af0-9ef8-441c-a431-532122b050f1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.54229} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc29217b6c357c32b66d61cb09e9e968"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72e712c0-eb5b-4d0c-8daf-effa969f9289","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.5483694} 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":"bc29217b6c357c32b66d61cb09e9e968"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"450886ca-5175-47f0-8375-f79dbe0d2d6c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.561144} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58c0be2e-92b4-4093-b4cf-7edd04229cb1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.5613966} 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":"bc29217b6c357c32b66d61cb09e9e968"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.561118226Z"}]},"request_id":"e7c4b6e0-d5b8-4c84-b536-3f139074df54","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306648.5666182} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc29217b6c357c32b66d61cb09e9e968"},"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":"25/Jun/2024:09:10: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc29217b6c357c32b66d61cb09e9e968"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"bc29217b6c357c32b66d61cb09e9e968","responseTime":54,"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":"da6be7d95f3cef61820fde88f788acd9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5807dc14-680f-4f2d-9166-11c178944897/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":"da6be7d95f3cef61820fde88f788acd9"} device-1 | {"level":"info","message":"OPTIONS /devices/5807dc14-680f-4f2d-9166-11c178944897/websocket 200 2ms","method":"OPTIONS","requestID":"da6be7d95f3cef61820fde88f788acd9","responseTime":2,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"487ab8982911aaa754bd47351b7afa70","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.766935,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} 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":"487ab8982911aaa754bd47351b7afa70"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3568dd37236fafdd0d12ab0d9abca652","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/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":"3568dd37236fafdd0d12ab0d9abca652"} device-1 | {"level":"info","message":"OPTIONS /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/websocket 200 0ms","method":"OPTIONS","requestID":"3568dd37236fafdd0d12ab0d9abca652","responseTime":0,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"75c00ada1f73117147cfb2fce69cb7e6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714836,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} 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":"75c00ada1f73117147cfb2fce69cb7e6"},"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/5807dc14-680f-4f2d-9166-11c178944897/websocket 200 28ms","method":"POST","requestID":"487ab8982911aaa754bd47351b7afa70","responseTime":28,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5807dc14-680f-4f2d-9166-11c178944897/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"487ab8982911aaa754bd47351b7afa70"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"75c00ada1f73117147cfb2fce69cb7e6"} device-1 | {"level":"info","message":"POST /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/websocket 200 20ms","method":"POST","requestID":"75c00ada1f73117147cfb2fce69cb7e6","responseTime":20,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"73497c7533f7ca225c50a9b1e083ff9e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.987138,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73497c7533f7ca225c50a9b1e083ff9e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.561118226Z"}]},"request_id":"7af1a685-0ef1-4184-80ff-d9bf9b8917b1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.5898259} 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":"73497c7533f7ca225c50a9b1e083ff9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73497c7533f7ca225c50a9b1e083ff9e"} device-1 | {"level":"info","message":"GET /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267? 200 13ms","method":"GET","requestID":"73497c7533f7ca225c50a9b1e083ff9e","responseTime":13,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a7034e42152575acaba8a55779c31b3","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:52986","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.623725,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a7034e42152575acaba8a55779c31b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"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:52986","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115601,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5870ac34-bd13-4a04-be74-65682739e325","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/5870ac34-bd13-4a04-be74-65682739e325","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} 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":"d1381810-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657406,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1386630-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5870ac34-bd13-4a04-be74-65682739e325","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5870ac34-bd13-4a04-be74-65682739e325","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.497922191Z"}]},"request_id":"31900b7f-0680-4cbe-ad36-0beb179639ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.6511772} 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":"d1381810-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.561118226Z"}]},"request_id":"41c5ed05-432c-40a5-8e93-2d4de0fcf0cb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.6524887} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1386630-32d2-11ef-8c48-074c31242816"},"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/4da2d21b-6cc7-4aa7-8293-2c4525e4d267? 200 18ms","method":"GET","requestID":"d1386630-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.102258,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1381810-32d2-11ef-8c48-074c31242816"},"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/5870ac34-bd13-4a04-be74-65682739e325? 200 26ms","method":"GET","requestID":"d1381810-32d2-11ef-8c48-074c31242816","responseTime":26,"status":200,"url":"/devices/5870ac34-bd13-4a04-be74-65682739e325?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"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:52986","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.691055,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Successfully running experiment"} 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":"d14621d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280281,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} 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":"d1466ff0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.893811,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fb2ab81-f5a3-42ce-9255-03a70bb59242","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7482848} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","rebac_allow":false,"scope_allow":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":"d146e520-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.445255861Z"}]},"request_id":"bdd44923-d2d7-4283-a980-9af1f2eec7fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7516606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.561118226Z"}]},"request_id":"17a07cd1-ec1c-4a9e-9c0c-6d0e7fa52a81","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7537575} 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":"d14621d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1466ff0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5807dc14-680f-4f2d-9166-11c178944897/signaling 200 25ms","method":"POST","requestID":"d146e520-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb83602f-f509-4837-b850-dbaa4bfc1cfb#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb83602f-f509-4837-b850-dbaa4bfc1cfb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"4429e938-160b-4b34-b000-65ffb6bf875c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7651665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59aca0ce-5896-4101-8610-2e8db75b131f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7655108} device-1 | {"level":"info","message":"GET /devices/5807dc14-680f-4f2d-9166-11c178944897? 200 33ms","method":"GET","requestID":"d14621d0-32d2-11ef-8c48-074c31242816","responseTime":33,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a7034e42152575acaba8a55779c31b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267? 200 35ms","method":"GET","requestID":"d1466ff0-32d2-11ef-8c48-074c31242816","responseTime":35,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79946505-cca5-4a9d-b4b3-b64ae0b54ea1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.772289} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779975,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","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 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":"d14b2ae0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a7034e42152575acaba8a55779c31b3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"9a7034e42152575acaba8a55779c31b3","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be98b162-f79e-4261-b311-a25ae3227f27","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7803426} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling 200 15ms","method":"POST","requestID":"d14b2ae0-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.369771,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","rebac_allow":false,"scope_allow":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":"d14c6360-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50ddedc269432932bc68e808e42424e1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/5807dc14-680f-4f2d-9166-11c178944897/signaling 200 13ms","method":"POST","requestID":"d14c6360-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.691083,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50ddedc269432932bc68e808e42424e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec0228c9-86d9-40ce-a787-1ee584fbc91e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.7960393} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.720533,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","rebac_allow":false,"scope_allow":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":"d14ed460-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.445255861Z"}]},"request_id":"8219785b-abfb-4c7d-bfcf-73368ad79a7d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.8007708} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling 200 11ms","method":"POST","requestID":"d14ed460-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50ddedc269432932bc68e808e42424e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7d6a07b6-8ef7-4d3a-8cad-d5c873198148"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a6845782-b802-43e3-84f3-34a6a23fed99"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"43cc3815-6266-41a6-9168-8580666546e3"}]},"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/5807dc14-680f-4f2d-9166-11c178944897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5807dc14-680f-4f2d-9166-11c178944897? 200 22ms","method":"GET","requestID":"50ddedc269432932bc68e808e42424e1","responseTime":22,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5807dc14-680f-4f2d-9166-11c178944897? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50ddedc269432932bc68e808e42424e1"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.696018,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1514560-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a634028dae7d697d0a4bcf70d7de3ffb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634655,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306650,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MH0.Q3OKlj8YN2MLu21g0b5W27qvMpQdVQ-bE-4sd6OLtwo"} 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":"a634028dae7d697d0a4bcf70d7de3ffb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1889062f-24c2-459e-a4ff-8624faed5e72","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.8241718} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4c33206-ba2f-4c47-9858-c172de8a4fc3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.8246152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:48.561118226Z"}]},"request_id":"a43f89cf-4bb7-4006-88ee-d78d4d6ec055","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.8256674} 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":"d1514560-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"a634028dae7d697d0a4bcf70d7de3ffb"},"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":"25/Jun/2024:09:10:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a634028dae7d697d0a4bcf70d7de3ffb"} device-1 | {"level":"info","message":"GET /devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267? 200 22ms","method":"GET","requestID":"a634028dae7d697d0a4bcf70d7de3ffb","responseTime":22,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267?"} 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/f436cd04-a051-4462-ab4d-64a56a9f5648'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"d1514560-32d2-11ef-8c48-074c31242816","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5568b85a-3aee-4ad3-8e7f-bb32b9d372f9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.880086} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.747744,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","rebac_allow":false,"scope_allow":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":"d15bccb0-32d2-11ef-8c48-074c31242816"},"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/5807dc14-680f-4f2d-9166-11c178944897/signaling 200 10ms","method":"POST","requestID":"d15bccb0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49c7f8f9-2984-4602-a353-aca48d30063c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.8929012} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.350612,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","rebac_allow":false,"scope_allow":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":"d15da170-32d2-11ef-8c48-074c31242816"},"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/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling 200 10ms","method":"POST","requestID":"d15da170-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f436cd04-a051-4462-ab4d-64a56a9f5648","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":"e5653f1fd0d11e743b302a4cec078949","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"e5653f1fd0d11e743b302a4cec078949"} 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/5807dc14-680f-4f2d-9166-11c178944897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"e5653f1fd0d11e743b302a4cec078949","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"f436cd04-a051-4462-ab4d-64a56a9f5648","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f436cd04-a051-4462-ab4d-64a56a9f5648","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/f436cd04-a051-4462-ab4d-64a56a9f5648' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f436cd04-a051-4462-ab4d-64a56a9f5648","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":"7403c314b834c14c5e195dde75c64ec0","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/5807dc14-680f-4f2d-9166-11c178944897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff436cd04-a051-4462-ab4d-64a56a9f5648","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b31f607-0e74-47b3-96d7-17cdf8b2e5f1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.970407} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.248848,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d169af60-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648 200 8ms","method":"GET","requestID":"d169af60-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"7403c314b834c14c5e195dde75c64ec0","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"7403c314b834c14c5e195dde75c64ec0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:50Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b133503-56fa-4b0c-a942-b629884007f7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306650.999746} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.763796,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","rebac_allow":false,"scope_allow":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":"d16df520-32d2-11ef-8c48-074c31242816"},"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/5807dc14-680f-4f2d-9166-11c178944897/signaling 200 10ms","method":"POST","requestID":"d16df520-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1936771-82f5-4977-b808-0e088e67ca43","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.0101972} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.210759,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d16fc9e0-32d2-11ef-8c48-074c31242816"},"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/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling 200 8ms","method":"POST","requestID":"d16fc9e0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c84c447c5c1c07109779820c596a5f60","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.047408,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} 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":"c84c447c5c1c07109779820c596a5f60"},"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/eb83602f-f509-4837-b850-dbaa4bfc1cfb"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c84c447c5c1c07109779820c596a5f60"} experiment-1 | {"level":"info","message":"GET /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb 200 10ms","method":"GET","requestID":"c84c447c5c1c07109779820c596a5f60","responseTime":10,"status":200,"url":"/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"39cd25be16d05a8039209a86007b822e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.991295,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"39cd25be16d05a8039209a86007b822e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.100294,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} 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":"d178ca90-32d2-11ef-8c48-074c31242816"},"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/f436cd04-a051-4462-ab4d-64a56a9f5648' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f436cd04-a051-4462-ab4d-64a56a9f5648","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff436cd04-a051-4462-ab4d-64a56a9f5648': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff436cd04-a051-4462-ab4d-64a56a9f5648","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"ea8e21f5-be35-4e7a-9a76-8790607362e9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.0854583} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"107c01b0-27f5-45c5-b4de-8849788c272b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.0856688} 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/5807dc14-680f-4f2d-9166-11c178944897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4aebf2c8d8ea5d407bf4256354839c7b","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b01bd4f906ddf8b94f1aaedc62db8572","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/5807dc14-680f-4f2d-9166-11c178944897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d178ca90-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"peerconnection":"f436cd04-a051-4462-ab4d-64a56a9f5648","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/f436cd04-a051-4462-ab4d-64a56a9f5648 204 41ms","method":"DELETE","requestID":"d178ca90-32d2-11ef-8c48-074c31242816","responseTime":41,"status":204,"url":"/peerconnections/f436cd04-a051-4462-ab4d-64a56a9f5648"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5807dc14-680f-4f2d-9166-11c178944897","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a405485-55ee-4286-a3fb-4d1cdaa28773","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.1413527} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.486542,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897","object_type":"device","rebac_allow":false,"scope_allow":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":"d18303c0-32d2-11ef-8c48-074c31242816"},"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/5807dc14-680f-4f2d-9166-11c178944897/signaling 200 17ms","method":"POST","requestID":"d18303c0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/5807dc14-680f-4f2d-9166-11c178944897/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb83602f-f509-4837-b850-dbaa4bfc1cfb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb83602f-f509-4837-b850-dbaa4bfc1cfb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"5a063670-62ad-4173-ab31-0757733c75c0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.1494675} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df5117ce-731a-477f-b6a6-5b88d5bf15d6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.1504002} 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":"39cd25be16d05a8039209a86007b822e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4da2d21b-6cc7-4aa7-8293-2c4525e4d267","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e38b9ad-3e3c-4c16-9990-3f89a4d7fe24","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.1610153} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.900549,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267","object_type":"device","rebac_allow":false,"scope_allow":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":"d1863810-32d2-11ef-8c48-074c31242816"},"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/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling 200 15ms","method":"POST","requestID":"d1863810-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"39cd25be16d05a8039209a86007b822e"} experiment-1 | {"level":"info","message":"DELETE /experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb 204 175ms","method":"DELETE","requestID":"39cd25be16d05a8039209a86007b822e","responseTime":175,"status":204,"url":"/experiments/eb83602f-f509-4837-b850-dbaa4bfc1cfb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"4aebf2c8d8ea5d407bf4256354839c7b","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"4aebf2c8d8ea5d407bf4256354839c7b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"b01bd4f906ddf8b94f1aaedc62db8572","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"b01bd4f906ddf8b94f1aaedc62db8572"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"465157bf21fa3eaaf151c36732747784","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.693","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"34e0dc36b4a3d6409a1bf94c62e91760"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.687","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0c40843e630f297783e9d918031e1c8e"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.952279,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} 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":"465157bf21fa3eaaf151c36732747784"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4da2d21b-6cc7-4aa7-8293-2c4525e4d267' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5807dc14-680f-4f2d-9166-11c178944897' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c880eebf-12f0-455c-8183-786e4876b033","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.2604067} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"465157bf21fa3eaaf151c36732747784"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c381f85d-db11-4c0c-ba01-6453818b045c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.2665315} 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":"465157bf21fa3eaaf151c36732747784"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"3b99919d-f71b-496c-b188-d4f27c6950f8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.277387} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"729971c8-e2e6-417c-a833-68640d59e8c8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.277609} 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":"465157bf21fa3eaaf151c36732747784"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"2721e289-5168-40c1-ada1-e1ee304942ae","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.2815716} 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":"465157bf21fa3eaaf151c36732747784"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"465157bf21fa3eaaf151c36732747784"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"465157bf21fa3eaaf151c36732747784","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"288d0f87b0803bdcbbcebd0c70cee437","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.804438,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} 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":"288d0f87b0803bdcbbcebd0c70cee437"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8bb451e8-2c00-4ecb-a79b-4d8ed4bede1b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.3067276} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"288d0f87b0803bdcbbcebd0c70cee437"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b99a918-1c1a-478d-8fb3-a7584e376bce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.3112893} 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":"288d0f87b0803bdcbbcebd0c70cee437"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"f880edfb-cebf-4f61-b5b2-66405e4209cd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.3268044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7ab7f7a-dc3b-4277-a49d-5db6c4422b0d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.326987} 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":"288d0f87b0803bdcbbcebd0c70cee437"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.326787863Z"}]},"request_id":"4f33550d-2630-450d-a715-44034b0c70ef","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.3315496} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"288d0f87b0803bdcbbcebd0c70cee437"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"288d0f87b0803bdcbbcebd0c70cee437","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"288d0f87b0803bdcbbcebd0c70cee437"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d97fe88087d0636ae84afcf25326597e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722147,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} 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":"d97fe88087d0636ae84afcf25326597e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"681151b6-9465-4ce0-8789-4be4a078ab1c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.8333297} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d97fe88087d0636ae84afcf25326597e"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66e3888f-3005-45ff-8deb-9602dc9cee06","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.8395417} 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":"d97fe88087d0636ae84afcf25326597e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"6ea84606-647d-4b64-bc7e-f42f34746d6f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306651.8532374} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d97fe88087d0636ae84afcf25326597e"},"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/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5 200 34ms","method":"PATCH","requestID":"d97fe88087d0636ae84afcf25326597e","responseTime":34,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5"} gateway-1 | {"time_local":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d97fe88087d0636ae84afcf25326597e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"068f7b2acac2ca967ae57491b2b6dd52","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215467,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306651,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1MX0.2bYKG9ZXaDUPI_3Y4SmkMHNubiZ_NYO3Rwova5ritJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"068f7b2acac2ca967ae57491b2b6dd52"},"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":"25/Jun/2024:09:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"068f7b2acac2ca967ae57491b2b6dd52"} device-1 | {"level":"info","message":"POST /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/websocket 200 17ms","method":"POST","requestID":"068f7b2acac2ca967ae57491b2b6dd52","responseTime":17,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5' 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":"c50b9103f7e0a94e6d95a0e27b651007","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/67f1915f-5440-475e-8dc2-d982866b5dd1/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":"c50b9103f7e0a94e6d95a0e27b651007"} device-1 | {"level":"info","message":"OPTIONS /devices/67f1915f-5440-475e-8dc2-d982866b5dd1/websocket 200 1ms","method":"OPTIONS","requestID":"c50b9103f7e0a94e6d95a0e27b651007","responseTime":1,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e66d52c15d4272a9b4c2f8bf75511fe","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230992,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e66d52c15d4272a9b4c2f8bf75511fe"},"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":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/67f1915f-5440-475e-8dc2-d982866b5dd1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4e66d52c15d4272a9b4c2f8bf75511fe"} device-1 | {"level":"info","message":"POST /devices/67f1915f-5440-475e-8dc2-d982866b5dd1/websocket 200 22ms","method":"POST","requestID":"4e66d52c15d4272a9b4c2f8bf75511fe","responseTime":22,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd3e834edbfb9cdf53bde391d490395c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905371,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd3e834edbfb9cdf53bde391d490395c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"60bbf20b-0a62-4f72-bf11-b3d3342a6327","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.3648179} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd3e834edbfb9cdf53bde391d490395c"},"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":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd3e834edbfb9cdf53bde391d490395c"} device-1 | {"level":"info","message":"GET /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5? 200 18ms","method":"GET","requestID":"bd3e834edbfb9cdf53bde391d490395c","responseTime":18,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6d2af8471e8135045dbb2efa180fe1c3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154464,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d2af8471e8135045dbb2efa180fe1c3"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.326787863Z"}]},"request_id":"db4c5f28-2e23-4cef-928f-fd40220ee378","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.3906488} 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":"6d2af8471e8135045dbb2efa180fe1c3"},"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/67f1915f-5440-475e-8dc2-d982866b5dd1? 200 19ms","method":"GET","requestID":"6d2af8471e8135045dbb2efa180fe1c3","responseTime":19,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/67f1915f-5440-475e-8dc2-d982866b5dd1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d2af8471e8135045dbb2efa180fe1c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e967215bee40c054d51dda478e15c9d2","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:52986","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.847618,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} 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":"e967215bee40c054d51dda478e15c9d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"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:52986","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642557,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2e4ddb0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.031875,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2e504c0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"b5c73e24-449d-46a2-98bb-fd1d6bb1c8ec","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.4605007} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2e4ddb0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.326787863Z"}]},"request_id":"dded0fc3-b239-47e4-b79e-dc9538607a64","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.4621341} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2e504c0-32d2-11ef-8c48-074c31242816"},"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/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5? 200 16ms","method":"GET","requestID":"d2e4ddb0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/67f1915f-5440-475e-8dc2-d982866b5dd1? 200 16ms","method":"GET","requestID":"d2e504c0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"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:52986","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131103,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2f09d80-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.715623,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} 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":"d2f0eba0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6bc5b84d-e790-4285-8a2d-d2a002134663","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.5398057} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235924,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"6b173a66-27d5-468e-839c-48075ede80ea","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.5435617} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","rebac_allow":false,"scope_allow":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":"d2f139c0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} 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":"d2f09d80-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.326787863Z"}]},"request_id":"bcd53846-ba6e-470e-8dea-d50eab0df6be","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.545717} 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":"d2f0eba0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling 200 20ms","method":"POST","requestID":"d2f139c0-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5? 200 24ms","method":"GET","requestID":"d2f09d80-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/67f1915f-5440-475e-8dc2-d982866b5dd1? 200 25ms","method":"GET","requestID":"d2f0eba0-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe6325513-403e-491c-9701-30d71ccf10b0#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe6325513-403e-491c-9701-30d71ccf10b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"153afcdb-3b84-4bfa-96e0-5baa42b44968","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.5578256} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e677a0c-7fef-4693-89ad-949b85706626","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.557971} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e967215bee40c054d51dda478e15c9d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.727652,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3de81c56-7a12-40d6-82a2-658117e846b3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.5617635} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"d2f4e340-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3b97f6b-9101-44b8-81e1-678b2acc61a7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.566172} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.175306,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","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/e6325513-403e-491c-9701-30d71ccf10b0","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2f55870-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"POST /devices/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling 200 13ms","method":"POST","requestID":"d2f4e340-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling"} gateway-1 | {"time_local":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e967215bee40c054d51dda478e15c9d2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"e967215bee40c054d51dda478e15c9d2","responseTime":165,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling 200 14ms","method":"POST","requestID":"d2f55870-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4ed80ef3dc268c3d2c47f0ea89fa5de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b4483cd-202b-47bd-bf22-cda9734c275a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.580255} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465216,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"d2f7c970-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:33158","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784708,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4ed80ef3dc268c3d2c47f0ea89fa5de"},"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/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling 200 11ms","method":"POST","requestID":"d2f7c970-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.277371114Z"}]},"request_id":"a7ff4a76-9b6a-4fc7-8a90-e6cc524bd09f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.5877862} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"efb69148-953f-4ac6-9233-c26d2d5f4aaf"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"cac69137-8c58-45e4-9bf6-14ec6906be00"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5ff19ed2-3947-4bfd-bfcf-7f4fb67b33b2"}]},"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/67f1915f-5440-475e-8dc2-d982866b5dd1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4ed80ef3dc268c3d2c47f0ea89fa5de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} gateway-1 | {"time_local":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4ed80ef3dc268c3d2c47f0ea89fa5de"} device-1 | {"level":"info","message":"GET /devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5? 200 16ms","method":"GET","requestID":"e4ed80ef3dc268c3d2c47f0ea89fa5de","responseTime":16,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.740973,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2fa1360-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6850b51dcc75f1355c1cab1287f8b391","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90849,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306653,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1M30.m2ZtgpPTK9jKtlKcWLDPMWhYyFf78Eq5ySrq1XDn0uY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6850b51dcc75f1355c1cab1287f8b391"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e2760620-de46-4dba-832e-e5b60d26557d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.6045728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09035626-be98-49c8-8266-82609c640c1a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.6046999} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2fa1360-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:51.326787863Z"}]},"request_id":"3a20dc6d-f2f8-40f2-9df1-98b058fc87c1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.6088815} 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":"6850b51dcc75f1355c1cab1287f8b391"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"d2fa1360-32d2-11ef-8c48-074c31242816","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/67f1915f-5440-475e-8dc2-d982866b5dd1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6850b51dcc75f1355c1cab1287f8b391"} device-1 | {"level":"info","message":"GET /devices/67f1915f-5440-475e-8dc2-d982866b5dd1? 200 22ms","method":"GET","requestID":"6850b51dcc75f1355c1cab1287f8b391","responseTime":22,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf454d54-5183-4681-8ec6-34dfe9c09ed3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.6522427} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.49025,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d302c5f0-32d2-11ef-8c48-074c31242816"},"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/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling 200 9ms","method":"POST","requestID":"d302c5f0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff4c5d0e-7ece-4b5c-a751-35fa653e6bcb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306653.6636264} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.790994,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"d30473a0-32d2-11ef-8c48-074c31242816"},"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/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling 200 10ms","method":"POST","requestID":"d30473a0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","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/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","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":"91171ce03f5da25dd6db788b5c52e8b1","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/67f1915f-5440-475e-8dc2-d982866b5dd1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"91171ce03f5da25dd6db788b5c52e8b1","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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":"91171ce03f5da25dd6db788b5c52e8b1"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","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/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","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":"d76cfa80cf42c93744de88a99dde773f","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/67f1915f-5440-475e-8dc2-d982866b5dd1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:55Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c528da0f-4a23-4b8c-85d8-7e0f3e853c2f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306655.824749} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.927908,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","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":"d44de390-32d2-11ef-8c48-074c31242816"},"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/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb 200 14ms","method":"GET","requestID":"d44de390-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"d76cfa80cf42c93744de88a99dde773f","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"d76cfa80cf42c93744de88a99dde773f"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"917801a3-cf08-402b-8a34-28caabdf8d30","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306655.8640885} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.396467,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"d453fe10-32d2-11ef-8c48-074c31242816"},"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/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling 200 13ms","method":"POST","requestID":"d453fe10-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:55Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82dfc981-f19a-468b-a36f-a72d0be059b6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306655.8809218} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.939223,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","rebac_allow":false,"scope_allow":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":"d4569620-32d2-11ef-8c48-074c31242816"},"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/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling 200 14ms","method":"POST","requestID":"d4569620-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1NX0.PL-yBg9dDtH80x-pCTipammX9EZEcJ_ae77ynK_6bqY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6eeefc1eb2153b136c94ef119450bb11","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e6325513-403e-491c-9701-30d71ccf10b0"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.363365,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306655,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1NX0.PL-yBg9dDtH80x-pCTipammX9EZEcJ_ae77ynK_6bqY"} 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":"6eeefc1eb2153b136c94ef119450bb11"},"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/e6325513-403e-491c-9701-30d71ccf10b0"} gateway-1 | {"time_local":"25/Jun/2024:09:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e6325513-403e-491c-9701-30d71ccf10b0 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6eeefc1eb2153b136c94ef119450bb11"} experiment-1 | {"level":"info","message":"GET /experiments/e6325513-403e-491c-9701-30d71ccf10b0 200 17ms","method":"GET","requestID":"6eeefc1eb2153b136c94ef119450bb11","responseTime":17,"status":200,"url":"/experiments/e6325513-403e-491c-9701-30d71ccf10b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"951b9f3e0e5aaf11641313d329dd0148","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e6325513-403e-491c-9701-30d71ccf10b0"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.186635,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306656,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs"} 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":"951b9f3e0e5aaf11641313d329dd0148"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.349687,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306656,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs"} 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":"d46fc370-32d2-11ef-8c48-074c31242816"},"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/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"2f5ad183-bc2c-422d-b048-b7e6c1491f7d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.0649443} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e60bf379c81d3d393964e8a66777458","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5fed943-c219-4594-943e-e0dc31914cfd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.0651927} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"d05bba93af9888680b39e07502306911","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d46fc370-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb","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/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb 204 48ms","method":"DELETE","requestID":"d46fc370-32d2-11ef-8c48-074c31242816","responseTime":48,"status":204,"url":"/peerconnections/0e9786c7-4bd1-4cb3-84c6-1bce28da1bbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e6325513-403e-491c-9701-30d71ccf10b0"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67f1915f-5440-475e-8dc2-d982866b5dd1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6d10c0e-4d13-40ae-b44f-1ec9c4a93fdd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.121477} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.785549,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1","object_type":"device","rebac_allow":false,"scope_allow":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":"d47b0e10-32d2-11ef-8c48-074c31242816"},"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/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling 200 13ms","method":"POST","requestID":"d47b0e10-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/67f1915f-5440-475e-8dc2-d982866b5dd1/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe6325513-403e-491c-9701-30d71ccf10b0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe6325513-403e-491c-9701-30d71ccf10b0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"7c8f7450-670b-4396-90a0-5723bc529bda","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.1295693} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fc26b57-903a-44c2-8454-4de6276480eb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.129762} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"951b9f3e0e5aaf11641313d329dd0148"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5e5b445-f793-4bef-a448-a97086007c51","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.1357462} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.068653,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5","object_type":"device","rebac_allow":false,"scope_allow":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":"d47da620-32d2-11ef-8c48-074c31242816"},"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/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling 200 10ms","method":"POST","requestID":"d47da620-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e6325513-403e-491c-9701-30d71ccf10b0"} gateway-1 | {"time_local":"25/Jun/2024:09:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e6325513-403e-491c-9701-30d71ccf10b0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"951b9f3e0e5aaf11641313d329dd0148"} gateway-1 | {"time_local":"25/Jun/2024:09:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2597","request_time":"4.313","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"43b131de61c740850645d161ff4ccad5"} experiment-1 | {"level":"info","message":"DELETE /experiments/e6325513-403e-491c-9701-30d71ccf10b0 204 173ms","method":"DELETE","requestID":"951b9f3e0e5aaf11641313d329dd0148","responseTime":173,"status":204,"url":"/experiments/e6325513-403e-491c-9701-30d71ccf10b0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"9e60bf379c81d3d393964e8a66777458","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e60bf379c81d3d393964e8a66777458"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"d05bba93af9888680b39e07502306911","responseTime":131,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad7308e3611aec1ee9220b396b2da829","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"d05bba93af9888680b39e07502306911"} gateway-1 | {"time_local":"25/Jun/2024:09:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.874","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"158a35ca0c75d0d0f13e725253e3ff98"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.981239,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306656,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs"} 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":"ad7308e3611aec1ee9220b396b2da829"},"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/00d130da-b8fa-4d45-a8c1-e52bc4aa87c5' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a27af8bb-a729-46f7-bd18-2bfe092f7d4e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.2317722} 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":"ad7308e3611aec1ee9220b396b2da829"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/67f1915f-5440-475e-8dc2-d982866b5dd1' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41013ba7-aba7-49fd-b0ff-3b54aacf21dd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.239757} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad7308e3611aec1ee9220b396b2da829"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"956d2e42-1216-4532-8e49-8be864fea569","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.2502112} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e939149-cb58-4231-8690-d38d0335897a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.2503004} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad7308e3611aec1ee9220b396b2da829"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.250193755Z"}]},"request_id":"ff57f9dd-7542-4f44-a010-429b7668bce2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.2547805} 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":"ad7308e3611aec1ee9220b396b2da829"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad7308e3611aec1ee9220b396b2da829"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"ad7308e3611aec1ee9220b396b2da829","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f4b2b911634929afc223aff0c5e0dc03","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907806,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306656,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1Nn0.lTbz8Y66upR3wp7SwjdMOxhTGq6FLSYFVs8Pd7T0uLs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4b2b911634929afc223aff0c5e0dc03"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"76ddd9fc-0c1a-45cd-8663-787f7e16e2a6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.2855139} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4b2b911634929afc223aff0c5e0dc03"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c7c0505-5e1f-4b84-8be9-5aec93ecb7ce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.290881} 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":"f4b2b911634929afc223aff0c5e0dc03"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"cb287b0e-ce6e-4ada-b8ec-e01e7354fb1a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.3023298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4b8c21f-3b10-4640-974a-7325e1c5f141","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.3024313} 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":"f4b2b911634929afc223aff0c5e0dc03"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.302310589Z"}]},"request_id":"866d3c9c-077d-4373-80b0-2433bd05274d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306656.3064566} 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":"f4b2b911634929afc223aff0c5e0dc03"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"f4b2b911634929afc223aff0c5e0dc03","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4b2b911634929afc223aff0c5e0dc03"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"52dc1a7dbdd59a86273292a946022dec","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/282797ca-2682-4124-a117-3dbebaffb2d2/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":"52dc1a7dbdd59a86273292a946022dec"} device-1 | {"level":"info","message":"OPTIONS /devices/282797ca-2682-4124-a117-3dbebaffb2d2/websocket 200 2ms","method":"OPTIONS","requestID":"52dc1a7dbdd59a86273292a946022dec","responseTime":2,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"316240d984996fc52ce01e3f424cef46","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e26666ad93c95ed1d95b95aad997ee15","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/67636748-ffed-4bff-a30b-20fbad19771b/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":"e26666ad93c95ed1d95b95aad997ee15"} device-1 | {"level":"info","message":"OPTIONS /devices/67636748-ffed-4bff-a30b-20fbad19771b/websocket 200 1ms","method":"OPTIONS","requestID":"e26666ad93c95ed1d95b95aad997ee15","responseTime":1,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.368175,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} 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":"316240d984996fc52ce01e3f424cef46"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"4347cd2db9bcb926e34dc7979b0c32f7","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.209005,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4347cd2db9bcb926e34dc7979b0c32f7"},"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":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/282797ca-2682-4124-a117-3dbebaffb2d2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.038","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"316240d984996fc52ce01e3f424cef46"} device-1 | {"level":"info","message":"POST /devices/282797ca-2682-4124-a117-3dbebaffb2d2/websocket 200 32ms","method":"POST","requestID":"316240d984996fc52ce01e3f424cef46","responseTime":32,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/67636748-ffed-4bff-a30b-20fbad19771b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4347cd2db9bcb926e34dc7979b0c32f7"} device-1 | {"level":"info","message":"POST /devices/67636748-ffed-4bff-a30b-20fbad19771b/websocket 200 25ms","method":"POST","requestID":"4347cd2db9bcb926e34dc7979b0c32f7","responseTime":25,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44ce3515775fd55e8f00bf1adeb30183","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897653,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ce3515775fd55e8f00bf1adeb30183"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.250193755Z"}]},"request_id":"ec90d64a-1b70-4676-a03d-1433bca1e8cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.4018617} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ce3515775fd55e8f00bf1adeb30183"},"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":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/282797ca-2682-4124-a117-3dbebaffb2d2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44ce3515775fd55e8f00bf1adeb30183"} device-1 | {"level":"info","message":"GET /devices/282797ca-2682-4124-a117-3dbebaffb2d2? 200 15ms","method":"GET","requestID":"44ce3515775fd55e8f00bf1adeb30183","responseTime":15,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf4a58cde78f435703f09d92c78a2df2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.111926,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf4a58cde78f435703f09d92c78a2df2"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.302310589Z"}]},"request_id":"6a6774b6-3379-4457-8e96-cfe5da9440df","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.4239132} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bf4a58cde78f435703f09d92c78a2df2"},"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":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/67636748-ffed-4bff-a30b-20fbad19771b? 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":"bf4a58cde78f435703f09d92c78a2df2"} device-1 | {"level":"info","message":"GET /devices/67636748-ffed-4bff-a30b-20fbad19771b? 200 17ms","method":"GET","requestID":"bf4a58cde78f435703f09d92c78a2df2","responseTime":17,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aef89e0fed3bb334ef33d70990d5e6da","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:52986","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.853365,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} 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":"aef89e0fed3bb334ef33d70990d5e6da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"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:52986","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.818832,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5e52560-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773289,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} 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":"d5e59a90-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.250193755Z"}]},"request_id":"88c7bd6e-474d-4f8b-802c-a99eac311a6a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.4995549} 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":"d5e52560-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.302310589Z"}]},"request_id":"82b21f35-5b55-4985-9a38-f696475de773","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.5055356} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/282797ca-2682-4124-a117-3dbebaffb2d2? 200 21ms","method":"GET","requestID":"d5e52560-32d2-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5e59a90-32d2-11ef-8c48-074c31242816"},"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/67636748-ffed-4bff-a30b-20fbad19771b? 200 21ms","method":"GET","requestID":"d5e59a90-32d2-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"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:52986","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.818602,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} 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":"d5effad0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.347863,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Successfully running experiment"} 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":"d5f048f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.250193755Z"}]},"request_id":"3fa38ee1-aa05-43ec-8317-a8c68c8577dc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.572017} 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":"d5effad0-32d2-11ef-8c48-074c31242816"},"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:52986","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5163e83-62a7-4914-bff8-7332a446580c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.5789988} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.097512,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} device-1 | {"level":"info","message":"GET /devices/282797ca-2682-4124-a117-3dbebaffb2d2? 200 25ms","method":"GET","requestID":"d5effad0-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","rebac_allow":false,"scope_allow":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":"d5f1cf90-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.302310589Z"}]},"request_id":"5d18c200-1b0a-49b7-9623-5ab5d7b351fa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.5817084} 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":"d5f048f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling 200 23ms","method":"POST","requestID":"d5f1cf90-32d2-11ef-8c48-074c31242816","responseTime":23,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/67636748-ffed-4bff-a30b-20fbad19771b? 200 35ms","method":"GET","requestID":"d5f048f0-32d2-11ef-8c48-074c31242816","responseTime":35,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a45fbdd-95be-421a-a5df-898d753312d3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a45fbdd-95be-421a-a5df-898d753312d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"726c40d4-c7cc-4b6d-9ff4-c40e6ced967f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.5949142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0db95afa-497e-4736-867b-9a2d13f73e5f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.5953407} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aef89e0fed3bb334ef33d70990d5e6da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":26}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71f3c395-21a4-4cdf-aca9-11b043615269","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6048028} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.730318,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","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":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aef89e0fed3bb334ef33d70990d5e6da"} 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":"d5f61550-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"aef89e0fed3bb334ef33d70990d5e6da","responseTime":170,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/282797ca-2682-4124-a117-3dbebaffb2d2/signaling 200 13ms","method":"POST","requestID":"d5f61550-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61872a367fe452d2eea9af953ac7b759","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:52986","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5315b7f-95f6-49d3-9ac2-84277a0898a7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.618359} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09875,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} 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":"61872a367fe452d2eea9af953ac7b759"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739123,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","rebac_allow":false,"scope_allow":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":"d5f88650-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.250193755Z"}]},"request_id":"a2800b6b-7712-4ee8-a3a2-b0b5b772ecef","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6229246} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling 200 10ms","method":"POST","requestID":"d5f88650-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61872a367fe452d2eea9af953ac7b759"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"4bdc5a7b-ab22-450d-a934-993167907327"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"b627d268-a094-467a-99b8-d2970ec65ccd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"10096960-b399-41fe-9133-f0af96e06b5c"}]},"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/282797ca-2682-4124-a117-3dbebaffb2d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/282797ca-2682-4124-a117-3dbebaffb2d2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61872a367fe452d2eea9af953ac7b759"} device-1 | {"level":"info","message":"GET /devices/282797ca-2682-4124-a117-3dbebaffb2d2? 200 11ms","method":"GET","requestID":"61872a367fe452d2eea9af953ac7b759","responseTime":11,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.888868,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae6daaa998424e97fba58085f203cba1","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"d5faa930-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935975,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306658,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OH0.9fyO6joV63Klb-obIdz86BFW25Ao7TSEdeaclviAOoU"} 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":"ae6daaa998424e97fba58085f203cba1"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:56.302310589Z"}]},"request_id":"d982aa97-046a-4864-8ac2-eef7e521a1b1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6391616} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae6daaa998424e97fba58085f203cba1"},"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":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/67636748-ffed-4bff-a30b-20fbad19771b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae6daaa998424e97fba58085f203cba1"} device-1 | {"level":"info","message":"GET /devices/67636748-ffed-4bff-a30b-20fbad19771b? 200 12ms","method":"GET","requestID":"ae6daaa998424e97fba58085f203cba1","responseTime":12,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"02cebe82-748f-40c6-8dde-40eb174f035c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6434271} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd8f7fd6-55e1-46ee-96a6-6d054f8a4ac9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6437235} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5faa930-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea'"} 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 29ms","method":"POST","requestID":"d5faa930-32d2-11ef-8c48-074c31242816","responseTime":29,"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/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48caa9ec-654e-4d0f-912d-373b9da2442f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6878917} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.369333,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","rebac_allow":false,"scope_allow":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":"d60334b0-32d2-11ef-8c48-074c31242816"},"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/282797ca-2682-4124-a117-3dbebaffb2d2/signaling 200 9ms","method":"POST","requestID":"d60334b0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"684ab352-0ff6-4bc3-a4a6-2a87538966cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.6986666} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.162833,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","rebac_allow":false,"scope_allow":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":"d604e260-32d2-11ef-8c48-074c31242816"},"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/67636748-ffed-4bff-a30b-20fbad19771b/signaling 200 11ms","method":"POST","requestID":"d604e260-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ecbb79f2-11c1-4670-a548-d85fab6d64ea","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":"dc117789fa7dc1008c6cfff82a904dcc","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":"new","url":"http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"dc117789fa7dc1008c6cfff82a904dcc","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"dc117789fa7dc1008c6cfff82a904dcc"} device-1 | {"data":{"peerconnection":"ecbb79f2-11c1-4670-a548-d85fab6d64ea","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ecbb79f2-11c1-4670-a548-d85fab6d64ea","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/ecbb79f2-11c1-4670-a548-d85fab6d64ea' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ecbb79f2-11c1-4670-a548-d85fab6d64ea","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":"74d6ba6de056c0186ab99b4820eeefd5","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/282797ca-2682-4124-a117-3dbebaffb2d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fecbb79f2-11c1-4670-a548-d85fab6d64ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08fd694c-12af-4b5c-8482-a7e5ad0a9ca2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.7889323} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.545761,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6129e00-32d2-11ef-8c48-074c31242816"},"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/ecbb79f2-11c1-4670-a548-d85fab6d64ea 200 9ms","method":"GET","requestID":"d6129e00-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"74d6ba6de056c0186ab99b4820eeefd5","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"74d6ba6de056c0186ab99b4820eeefd5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ecf73ff-deee-420f-b004-c2e52af13699","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.8245373} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.681803,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","rebac_allow":false,"scope_allow":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":"d6181c40-32d2-11ef-8c48-074c31242816"},"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/282797ca-2682-4124-a117-3dbebaffb2d2/signaling 200 12ms","method":"POST","requestID":"d6181c40-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7fbcb07-1dc6-45f1-a75e-d45c91579540","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306658.8383324} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.816469,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","rebac_allow":false,"scope_allow":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":"d61a1810-32d2-11ef-8c48-074c31242816"},"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/67636748-ffed-4bff-a30b-20fbad19771b/signaling 200 10ms","method":"POST","requestID":"d61a1810-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"16d715c5f053005f1504466d24c30e63","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0a45fbdd-95be-421a-a5df-898d753312d3"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.448096,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} 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":"16d715c5f053005f1504466d24c30e63"},"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/0a45fbdd-95be-421a-a5df-898d753312d3"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0a45fbdd-95be-421a-a5df-898d753312d3 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16d715c5f053005f1504466d24c30e63"} experiment-1 | {"level":"info","message":"GET /experiments/0a45fbdd-95be-421a-a5df-898d753312d3 200 18ms","method":"GET","requestID":"16d715c5f053005f1504466d24c30e63","responseTime":18,"status":200,"url":"/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe25a9976a28ad050ee950bdee3a1099","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0a45fbdd-95be-421a-a5df-898d753312d3"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.292393,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} 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":"fe25a9976a28ad050ee950bdee3a1099"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.196145,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} 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":"d63ae680-32d2-11ef-8c48-074c31242816"},"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/ecbb79f2-11c1-4670-a548-d85fab6d64ea' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ecbb79f2-11c1-4670-a548-d85fab6d64ea","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fecbb79f2-11c1-4670-a548-d85fab6d64ea': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fecbb79f2-11c1-4670-a548-d85fab6d64ea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"59227c51-d6dd-4190-8541-68b080cbe446","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.0724952} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f1ae711-b140-41ac-802b-04d77e8228bf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.0729556} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6acfb046d5fc9c48116614240d835d9d","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":"c81b5d48387b6927e9a15ded18e7ab73","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/282797ca-2682-4124-a117-3dbebaffb2d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d63ae680-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ecbb79f2-11c1-4670-a548-d85fab6d64ea","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/ecbb79f2-11c1-4670-a548-d85fab6d64ea 204 47ms","method":"DELETE","requestID":"d63ae680-32d2-11ef-8c48-074c31242816","responseTime":47,"status":204,"url":"/peerconnections/ecbb79f2-11c1-4670-a548-d85fab6d64ea"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282797ca-2682-4124-a117-3dbebaffb2d2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f49e8b6-23fb-49b9-a031-bd77ea67069f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.1316702} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.332576,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2","object_type":"device","rebac_allow":false,"scope_allow":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":"d6467f40-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a45fbdd-95be-421a-a5df-898d753312d3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a45fbdd-95be-421a-a5df-898d753312d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"86292161-4bff-4454-97a1-80790dabb3a2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.1339104} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3caf887-c194-48f9-80cc-719fc3e7dbd8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.1348624} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe25a9976a28ad050ee950bdee3a1099"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/282797ca-2682-4124-a117-3dbebaffb2d2/signaling 200 17ms","method":"POST","requestID":"d6467f40-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/282797ca-2682-4124-a117-3dbebaffb2d2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F67636748-ffed-4bff-a30b-20fbad19771b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2983c20c-5fb0-4270-ad60-fbee098940a6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.1575732} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.530769,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b","object_type":"device","rebac_allow":false,"scope_allow":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":"d64a28c0-32d2-11ef-8c48-074c31242816"},"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/67636748-ffed-4bff-a30b-20fbad19771b/signaling 200 16ms","method":"POST","requestID":"d64a28c0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/67636748-ffed-4bff-a30b-20fbad19771b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0a45fbdd-95be-421a-a5df-898d753312d3"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0a45fbdd-95be-421a-a5df-898d753312d3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe25a9976a28ad050ee950bdee3a1099"} experiment-1 | {"level":"info","message":"DELETE /experiments/0a45fbdd-95be-421a-a5df-898d753312d3 204 199ms","method":"DELETE","requestID":"fe25a9976a28ad050ee950bdee3a1099","responseTime":199,"status":204,"url":"/experiments/0a45fbdd-95be-421a-a5df-898d753312d3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"6acfb046d5fc9c48116614240d835d9d","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"6acfb046d5fc9c48116614240d835d9d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"c81b5d48387b6927e9a15ded18e7ab73","responseTime":156,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"25/Jun/2024:09:10: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"c81b5d48387b6927e9a15ded18e7ab73"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a502f7d37d7b97702f34b15391c7b902","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.898283,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2514","request_time":"0.883","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b12b7814b78cd8f4915a6e643cc4b199"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2629","request_time":"0.872","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"653a7a4a139df88b9d90b95f4b634c31"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a502f7d37d7b97702f34b15391c7b902"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/282797ca-2682-4124-a117-3dbebaffb2d2' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/67636748-ffed-4bff-a30b-20fbad19771b' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"02c81015-01a6-4707-a83b-3a9df1dbdacc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.2601101} 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":"a502f7d37d7b97702f34b15391c7b902"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a588724b-2c73-4831-b165-f75e1d64eaad","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.2653415} 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":"a502f7d37d7b97702f34b15391c7b902"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1f4a53ce-dbb5-4f25-bb4b-90c47d20569c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.2768183} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ff5965c-f6c9-4d45-be4b-b7270d0ee666","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.2770536} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a502f7d37d7b97702f34b15391c7b902"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.276799713Z"}]},"request_id":"144e9d83-0b01-4c43-bd51-a666331e82c5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.2810652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a502f7d37d7b97702f34b15391c7b902"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"a502f7d37d7b97702f34b15391c7b902","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a502f7d37d7b97702f34b15391c7b902"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"09fc14301c98a27fd37110ab64f3d4a8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.642897,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09fc14301c98a27fd37110ab64f3d4a8"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20673538-0456-431b-8637-b563bcd3d5a2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.3060513} 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":"09fc14301c98a27fd37110ab64f3d4a8"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd534250-32b3-4c22-b9c4-67c1b8cd8d77","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.3104882} 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":"09fc14301c98a27fd37110ab64f3d4a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"51f89149-0a65-43bd-a375-442aa7108dc7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.3274522} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcedc075-061e-494f-ae60-ffad9506863e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.3275187} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09fc14301c98a27fd37110ab64f3d4a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"beac8e0c-7fc5-4b19-a1bc-b8a8101e500f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.3327596} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09fc14301c98a27fd37110ab64f3d4a8"},"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":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09fc14301c98a27fd37110ab64f3d4a8"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"09fc14301c98a27fd37110ab64f3d4a8","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb7e2026e71c266ccb1da91aefa01e1d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341871,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb7e2026e71c266ccb1da91aefa01e1d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"12271f84-e663-4a8a-b615-dcf6203d76b7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.826731} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb7e2026e71c266ccb1da91aefa01e1d"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63c26de1-c3b9-4a60-84be-bce0f7ebf876","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.8318872} 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":"cb7e2026e71c266ccb1da91aefa01e1d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"9615ac94-af47-4c10-af18-c689279c2b02","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306659.8426816} 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":"cb7e2026e71c266ccb1da91aefa01e1d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cb7e2026e71c266ccb1da91aefa01e1d"} device-1 | {"level":"info","message":"PATCH /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3 200 30ms","method":"PATCH","requestID":"cb7e2026e71c266ccb1da91aefa01e1d","responseTime":30,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fef1e530835e7d4f5b0ba3f81dce734e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907839,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:10:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306659,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY1OX0.bCSCXh0QbR7fxygsxSG7dsFj_jp51AseGYjApE_EWYc"} 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":"fef1e530835e7d4f5b0ba3f81dce734e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fef1e530835e7d4f5b0ba3f81dce734e"} device-1 | {"level":"info","message":"POST /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/websocket 200 16ms","method":"POST","requestID":"fef1e530835e7d4f5b0ba3f81dce734e","responseTime":16,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3' 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":"abfcc0d124e426f84cb80602009d9e24","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/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":"abfcc0d124e426f84cb80602009d9e24"} device-1 | {"level":"info","message":"OPTIONS /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/websocket 200 2ms","method":"OPTIONS","requestID":"abfcc0d124e426f84cb80602009d9e24","responseTime":2,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fd5aad77839ae3bc18b0f1964b77d724","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206014,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd5aad77839ae3bc18b0f1964b77d724"},"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":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fd5aad77839ae3bc18b0f1964b77d724"} device-1 | {"level":"info","message":"POST /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/websocket 200 24ms","method":"POST","requestID":"fd5aad77839ae3bc18b0f1964b77d724","responseTime":24,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"29c156f00bbf69db7086b93239d23e82","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.217727,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29c156f00bbf69db7086b93239d23e82"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.276799713Z"}]},"request_id":"55a1f7e3-9578-4ea1-9ed6-d207e960b8cf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.4163904} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29c156f00bbf69db7086b93239d23e82"},"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":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e? 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":"29c156f00bbf69db7086b93239d23e82"} device-1 | {"level":"info","message":"GET /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e? 200 19ms","method":"GET","requestID":"29c156f00bbf69db7086b93239d23e82","responseTime":19,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"df2ff02f4e039838b2a3dada829bef43","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338024,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df2ff02f4e039838b2a3dada829bef43"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"58089bec-8889-49b7-b01e-9809994993d7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.4424229} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df2ff02f4e039838b2a3dada829bef43"},"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":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df2ff02f4e039838b2a3dada829bef43"} device-1 | {"level":"info","message":"GET /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3? 200 18ms","method":"GET","requestID":"df2ff02f4e039838b2a3dada829bef43","responseTime":18,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"afe1f9d9b1c8fac7b6f66d32639ce1d9","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:52986","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.653705,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"afe1f9d9b1c8fac7b6f66d32639ce1d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"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:52986","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189513,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"d7b21d30-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891865,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"d7b26b50-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.276799713Z"}]},"request_id":"01de7a14-f89d-41e1-9610-63f374d2b862","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.5239165} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7b21d30-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"e15e8c28-1228-4192-b628-dffe5142f48e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.5248005} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7b26b50-32d2-11ef-8c48-074c31242816"},"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/0605a8e2-fd09-40a0-b56a-9c58a3670a8e? 200 25ms","method":"GET","requestID":"d7b21d30-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3? 200 24ms","method":"GET","requestID":"d7b26b50-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"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/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937119,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7be2b20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154582,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"d7be7940-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.276799713Z"}]},"request_id":"b8176bea-4429-45ec-9e56-a44ee5e18f48","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.601907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"dfd498a0-50cf-4a89-96da-d75cf4ae3356","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.603356} 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":"d7be2b20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7be7940-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a481a6e2-4f9e-4172-9001-83c05134a831","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.6062963} authorization-1 | {"client_addr":"127.0.0.1:58248","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:58248","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.551197,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"d7bea050-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e? 200 27ms","method":"GET","requestID":"d7be2b20-32d2-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3? 200 27ms","method":"GET","requestID":"d7be7940-32d2-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1e2b18ac-0e13-48c4-ac13-8adc0ba155b8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.616241} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling 200 28ms","method":"POST","requestID":"d7bea050-32d2-11ef-8c48-074c31242816","responseTime":28,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b0fe1cb-31bf-439d-9535-57f020a3380b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.6165843} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afe1f9d9b1c8fac7b6f66d32639ce1d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":27}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1338140b-efa7-4112-b2be-d6e49d05a9bf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.624981} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf67ec95-46ba-42c0-be0a-8579d1d3e6e4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.625584} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.562358,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"d7c30d20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.946328,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","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/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7c35b40-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afe1f9d9b1c8fac7b6f66d32639ce1d9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"afe1f9d9b1c8fac7b6f66d32639ce1d9","responseTime":171,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling 200 13ms","method":"POST","requestID":"d7c30d20-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling 200 12ms","method":"POST","requestID":"d7c35b40-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad1f5bfdd96af82eaa1129dbf97610b5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"765d2e7f-7f74-4ede-adb9-c466cfd125ae","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.6389813} authorization-1 | {"client_addr":"127.0.0.1:50364","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975215,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"ad1f5bfdd96af82eaa1129dbf97610b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.688974,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","rebac_allow":false,"scope_allow":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":"d7c57e20-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.276799713Z"}]},"request_id":"56054035-6b36-4162-9984-75906be73a0b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.6437285} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling 200 10ms","method":"POST","requestID":"d7c57e20-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad1f5bfdd96af82eaa1129dbf97610b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"44932c9d-a4d4-4ff2-b561-8b44d1caf2fc"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"c4f59a0d-2c72-4ecf-a738-24ab6104c590"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"db8c88bd-5960-4713-a349-3bd8102e555b"}]},"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/0605a8e2-fd09-40a0-b56a-9c58a3670a8e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad1f5bfdd96af82eaa1129dbf97610b5"} device-1 | {"level":"info","message":"GET /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e? 200 16ms","method":"GET","requestID":"ad1f5bfdd96af82eaa1129dbf97610b5","responseTime":16,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.771697,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"d7c7c810-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e60dc5086268345acfafb650cec98002","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669466,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306661,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2MX0.2iNlQZQRdbB6-kX3PoG3ys6dl5u0do6De31Wsp_N7gA"} 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":"e60dc5086268345acfafb650cec98002"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:10:59.327429256Z"}]},"request_id":"3b7482b0-a38c-4bb9-bd48-44d221f99223","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.6656857} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e60dc5086268345acfafb650cec98002"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1b961d71-5b5c-43bf-ad4b-50c0b1e4b7e5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.6669254} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"995afb87-3ac0-4271-a1c7-750bac4fd3ac","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.667201} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7c7c810-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e60dc5086268345acfafb650cec98002"} device-1 | {"level":"info","message":"GET /devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3? 200 14ms","method":"GET","requestID":"e60dc5086268345acfafb650cec98002","responseTime":14,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3?"} 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/4189c431-3857-4dcc-8cc6-5c417d20980f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"d7c7c810-32d2-11ef-8c48-074c31242816","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42b27b59-5eb1-4cd6-9d55-fc1f0e64975d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.71655} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.126527,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"d7d13df0-32d2-11ef-8c48-074c31242816"},"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/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling 200 10ms","method":"POST","requestID":"d7d13df0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f09b170f-e4a1-4804-a3cf-9ccb0cabfe63","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306661.7291496} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554514,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d7d339c0-32d2-11ef-8c48-074c31242816"},"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/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling 200 9ms","method":"POST","requestID":"d7d339c0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","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/4189c431-3857-4dcc-8cc6-5c417d20980f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","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":"b832e2fc16b44984db3420ca78ec33cc","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e'"} 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/0605a8e2-fd09-40a0-b56a-9c58a3670a8e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"b832e2fc16b44984db3420ca78ec33cc","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b832e2fc16b44984db3420ca78ec33cc"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","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/4189c431-3857-4dcc-8cc6-5c417d20980f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","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":"7b6ceed308c866a58da7ad8c53aa42be","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/0605a8e2-fd09-40a0-b56a-9c58a3670a8e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:03Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4189c431-3857-4dcc-8cc6-5c417d20980f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82a29b90-caf4-4890-8b1c-383d834f945b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306663.8927834} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.53631,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f","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":"d91c82a0-32d2-11ef-8c48-074c31242816"},"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/4189c431-3857-4dcc-8cc6-5c417d20980f 200 17ms","method":"GET","requestID":"d91c82a0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"7b6ceed308c866a58da7ad8c53aa42be","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b6ceed308c866a58da7ad8c53aa42be"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:03Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d068d0f5-a750-4908-965f-fa61e2f1b2f4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306663.9270349} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.629145,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"d9229d20-32d2-11ef-8c48-074c31242816"},"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/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling 200 10ms","method":"POST","requestID":"d9229d20-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:03Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e238ac5b-cc2b-4b31-a053-b024174c18b2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306663.9399083} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.703274,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","rebac_allow":false,"scope_allow":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":"d92471e0-32d2-11ef-8c48-074c31242816"},"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/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling 200 9ms","method":"POST","requestID":"d92471e0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1f45915f67a46c582ec9cab70aea739b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.328327,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} 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":"1f45915f67a46c582ec9cab70aea739b"},"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/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"} gateway-1 | {"time_local":"25/Jun/2024:09:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f45915f67a46c582ec9cab70aea739b"} experiment-1 | {"level":"info","message":"GET /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1 200 18ms","method":"GET","requestID":"1f45915f67a46c582ec9cab70aea739b","responseTime":18,"status":200,"url":"/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"985616f7fea5de3b96ecc25176621336","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.355706,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} 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":"985616f7fea5de3b96ecc25176621336"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.677557,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} 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":"d94d2f90-32d2-11ef-8c48-074c31242816"},"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/4189c431-3857-4dcc-8cc6-5c417d20980f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4189c431-3857-4dcc-8cc6-5c417d20980f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4189c431-3857-4dcc-8cc6-5c417d20980f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"7089683d-45ca-4929-bb30-cd9e76d30a98","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.222293} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"464ca6d9-a579-4386-81e5-63c0e2e68353","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.2226589} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0724c5bf5ff21fa41e6764d8c545c7c5","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d94d2f90-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d7f00f401ab57abe9b9d64734f2a9b5b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"4189c431-3857-4dcc-8cc6-5c417d20980f","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/4189c431-3857-4dcc-8cc6-5c417d20980f 204 41ms","method":"DELETE","requestID":"d94d2f90-32d2-11ef-8c48-074c31242816","responseTime":41,"status":204,"url":"/peerconnections/4189c431-3857-4dcc-8cc6-5c417d20980f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0605a8e2-fd09-40a0-b56a-9c58a3670a8e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49f8145f-f68a-4a57-ab2b-f8ad682aaf1f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.2713141} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.580204,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e","object_type":"device","rebac_allow":false,"scope_allow":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":"d956f390-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"1391fbf3-f7bd-4305-a65c-5655da3b4167","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.274741} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43e98fef-32fa-445b-8827-780086bdd439","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.2752962} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling 200 15ms","method":"POST","requestID":"d956f390-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"985616f7fea5de3b96ecc25176621336"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0f2a6ce-be32-4ef1-babf-d39debfe97b3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc100825-310c-4fa1-b675-5adc48259428","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.2907083} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.244098,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3","object_type":"device","rebac_allow":false,"scope_allow":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":"d959d9c0-32d2-11ef-8c48-074c31242816"},"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/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling 200 14ms","method":"POST","requestID":"d959d9c0-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"} gateway-1 | {"time_local":"25/Jun/2024:09:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"985616f7fea5de3b96ecc25176621336"} gateway-1 | {"time_local":"25/Jun/2024:09:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.485","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"60f790126cd2855835ee1159ed74567a"} experiment-1 | {"level":"info","message":"DELETE /experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1 204 169ms","method":"DELETE","requestID":"985616f7fea5de3b96ecc25176621336","responseTime":169,"status":204,"url":"/experiments/1b7f7d13-bdde-4f3f-a63e-f6f057d6f2e1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"0724c5bf5ff21fa41e6764d8c545c7c5","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"0724c5bf5ff21fa41e6764d8c545c7c5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"d7f00f401ab57abe9b9d64734f2a9b5b","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"d7f00f401ab57abe9b9d64734f2a9b5b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"40eb83d31cef82875ff75e54c940f09c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.983","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6326c697b29161ae07fd68bdb68b94eb"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.99305,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} 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":"40eb83d31cef82875ff75e54c940f09c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c0f2a6ce-be32-4ef1-babf-d39debfe97b3' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"379f76f5-e707-4b4a-90a7-a3c4ecb44d9a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.3834193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40eb83d31cef82875ff75e54c940f09c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0605a8e2-fd09-40a0-b56a-9c58a3670a8e' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99f16b0d-dd2e-46f8-a13a-8780a6bdc67a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.3889718} 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":"40eb83d31cef82875ff75e54c940f09c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"2fbfc859-35e0-45fb-aaf0-d02585874b02","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.3991067} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61a7d161-2946-4877-a97e-edd7e93442e7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.399436} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40eb83d31cef82875ff75e54c940f09c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"3f4efa65-99e7-4dc7-8466-8267827e0850","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.4035306} 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":"40eb83d31cef82875ff75e54c940f09c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40eb83d31cef82875ff75e54c940f09c"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"40eb83d31cef82875ff75e54c940f09c","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"259b4b194052d3f2554eb7b5b1c74902","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.746528,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"259b4b194052d3f2554eb7b5b1c74902"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1bdac4e4-280b-4692-bd14-ded4853cc1de","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.4319808} 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":"259b4b194052d3f2554eb7b5b1c74902"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5353c2a-7321-460d-af7e-ac4997cd3217","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.4364681} 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":"259b4b194052d3f2554eb7b5b1c74902"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"6d55ad9c-21d0-4932-bfe1-0ccaa46d97c6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.4470577} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35da77bb-5f4d-47cb-9865-140bd57438ea","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.4473248} 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":"259b4b194052d3f2554eb7b5b1c74902"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.447039223Z"}]},"request_id":"d2d23eee-303b-4708-90d2-57122e3dafe9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.4511006} 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":"259b4b194052d3f2554eb7b5b1c74902"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"259b4b194052d3f2554eb7b5b1c74902"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"259b4b194052d3f2554eb7b5b1c74902","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d2daf1c527f4ff07b221355f306d88fe","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78035,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} 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":"d2daf1c527f4ff07b221355f306d88fe"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"41a4d6e2-9c9f-45e5-b8cf-f670a5b8f4d1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.947494} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2daf1c527f4ff07b221355f306d88fe"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28479cca-5076-46da-88a8-a874845a819d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.9532728} 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":"d2daf1c527f4ff07b221355f306d88fe"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"75b68f37-0f16-4019-9733-f4c1fd756188","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306664.9649198} 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":"d2daf1c527f4ff07b221355f306d88fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/35562c35-00f9-42eb-9999-766c4a1499d6 200 30ms","method":"PATCH","requestID":"d2daf1c527f4ff07b221355f306d88fe","responseTime":30,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6"} gateway-1 | {"time_local":"25/Jun/2024:09:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/35562c35-00f9-42eb-9999-766c4a1499d6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d2daf1c527f4ff07b221355f306d88fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"49c40b539aeee3076e99661b8aee8711","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723476,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306664,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2NH0.KPrSoCa1Ohm72hrYxttGHzPjtkKVAv6gAXMNql4hfIE"} 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":"49c40b539aeee3076e99661b8aee8711"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/35562c35-00f9-42eb-9999-766c4a1499d6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"49c40b539aeee3076e99661b8aee8711"} device-1 | {"level":"info","message":"POST /devices/35562c35-00f9-42eb-9999-766c4a1499d6/websocket 200 19ms","method":"POST","requestID":"49c40b539aeee3076e99661b8aee8711","responseTime":19,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6' 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":"0c9071e269e458a04ac903576e8a3ffe","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/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":"0c9071e269e458a04ac903576e8a3ffe"} device-1 | {"level":"info","message":"OPTIONS /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/websocket 200 1ms","method":"OPTIONS","requestID":"0c9071e269e458a04ac903576e8a3ffe","responseTime":1,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d6e3b3cffca3b16ebd28a8fa39ae8cc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.371732,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} 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":"5d6e3b3cffca3b16ebd28a8fa39ae8cc"},"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":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d6e3b3cffca3b16ebd28a8fa39ae8cc"} device-1 | {"level":"info","message":"POST /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/websocket 200 25ms","method":"POST","requestID":"5d6e3b3cffca3b16ebd28a8fa39ae8cc","responseTime":25,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be7693cd7d642822014d4f62fc220a9f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.145494,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be7693cd7d642822014d4f62fc220a9f"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"942419cb-b548-4930-b1e1-2d73978dd845","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.558781} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be7693cd7d642822014d4f62fc220a9f"},"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":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/35562c35-00f9-42eb-9999-766c4a1499d6? 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":"be7693cd7d642822014d4f62fc220a9f"} device-1 | {"level":"info","message":"GET /devices/35562c35-00f9-42eb-9999-766c4a1499d6? 200 18ms","method":"GET","requestID":"be7693cd7d642822014d4f62fc220a9f","responseTime":18,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18329e61778ff0eaf22717687f70df16","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.279739,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18329e61778ff0eaf22717687f70df16"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.447039223Z"}]},"request_id":"f43102db-d606-4d9a-a3b6-79b500072b01","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.585918} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18329e61778ff0eaf22717687f70df16"},"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":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18329e61778ff0eaf22717687f70df16"} device-1 | {"level":"info","message":"GET /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1? 200 19ms","method":"GET","requestID":"18329e61778ff0eaf22717687f70df16","responseTime":19,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"36a0afe33aa8f868aa4641176790ecea","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:52986","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.273876,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} 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":"36a0afe33aa8f868aa4641176790ecea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"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:52986","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909916,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dac29180-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129722,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} 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":"dac2dfa0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"923e4cda-c5bd-4393-bdab-12fe1f2a83f2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.6596534} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dac29180-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.447039223Z"}]},"request_id":"24751d8c-f5be-4e80-9dbe-307fdae19ef7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.6647327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dac2dfa0-32d2-11ef-8c48-074c31242816"},"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/35562c35-00f9-42eb-9999-766c4a1499d6? 200 18ms","method":"GET","requestID":"dac29180-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1? 200 20ms","method":"GET","requestID":"dac2dfa0-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"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/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920153,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dacd66f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866143,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} 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":"dacdb510-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5943d53-81ce-4f0d-8540-3ed0a34b3f42","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7330601} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.020637,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","rebac_allow":false,"scope_allow":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":"dace2a40-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"4321802c-4677-479c-bb92-0835cf8bb17f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.73506} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.447039223Z"}]},"request_id":"3a1d1bbd-e7b1-49fe-a93b-16dd112cf096","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7364898} 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":"dacd66f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dacdb510-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/35562c35-00f9-42eb-9999-766c4a1499d6/signaling 200 20ms","method":"POST","requestID":"dace2a40-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/35562c35-00f9-42eb-9999-766c4a1499d6? 200 27ms","method":"GET","requestID":"dacd66f0-32d2-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1? 200 28ms","method":"GET","requestID":"dacdb510-32d2-11ef-8c48-074c31242816","responseTime":28,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2d976df-ce01-4b2e-9df9-16b11302648b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2d976df-ce01-4b2e-9df9-16b11302648b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8a96be54-2cd2-4c64-998f-dbcb4ac03e91","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7495933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc559f65-a9b0-496b-bed9-ab33ae059d60","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7499561} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36a0afe33aa8f868aa4641176790ecea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50b0efc5-468f-40d7-b7d4-d0489a9eb273","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.75253} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.062344,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","rebac_allow":false,"scope_allow":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":"dad1acb0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling 200 11ms","method":"POST","requestID":"dad1acb0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3891ddcc-c55f-4d1f-abec-9b3654639abd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.759365} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.311559,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36a0afe33aa8f868aa4641176790ecea"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","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 160ms","method":"POST","requestID":"36a0afe33aa8f868aa4641176790ecea","responseTime":160,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dad27000-32d2-11ef-8c48-074c31242816"},"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/35562c35-00f9-42eb-9999-766c4a1499d6/signaling 200 12ms","method":"POST","requestID":"dad27000-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cb1e21dc9918b82de7f5144e043dd879","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:52986","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8adfb3c-c763-4d2f-b1fe-cc7e3570d267","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7723742} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166302,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.544082,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb1e21dc9918b82de7f5144e043dd879"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","rebac_allow":false,"scope_allow":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":"dad4b9f0-32d2-11ef-8c48-074c31242816"},"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/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling 200 10ms","method":"POST","requestID":"dad4b9f0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.399090037Z"}]},"request_id":"f14d1fcf-b485-4951-9776-0ce5ed11a790","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7785187} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"7b4a4ba5-0a5d-4129-9f61-8d2b8a7228e2"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"ecce9a9f-c589-4a72-abff-66b0572dc087"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"b8410830-f11e-48a1-9435-09dd568172be"}]},"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/7c478c29-603d-4081-bb2e-23dfbff0d2f1"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb1e21dc9918b82de7f5144e043dd879"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/35562c35-00f9-42eb-9999-766c4a1499d6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb1e21dc9918b82de7f5144e043dd879"} device-1 | {"level":"info","message":"GET /devices/35562c35-00f9-42eb-9999-766c4a1499d6? 200 15ms","method":"GET","requestID":"cb1e21dc9918b82de7f5144e043dd879","responseTime":15,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.853647,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} 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":"dad6dcd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4deb98ac43de3142219e5757ad67b69d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"52168d8e-686a-4797-811e-77c7920d1fb4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.7941835} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e25e159-70ae-40a4-91da-32b617c0e398","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.794511} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dad6dcd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913025,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306666,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2Nn0.jMTPzmqgut4qTKPjRInaipWqoWSSNIR0bRCILmBq0mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4deb98ac43de3142219e5757ad67b69d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:04.447039223Z"}]},"request_id":"065313a0-8857-48a8-8c1b-68fd7f7d9da6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.801743} 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":"4deb98ac43de3142219e5757ad67b69d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"dad6dcd0-32d2-11ef-8c48-074c31242816","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1? 200 22ms","method":"GET","requestID":"4deb98ac43de3142219e5757ad67b69d","responseTime":22,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4deb98ac43de3142219e5757ad67b69d"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f16afda-de23-410a-8882-f600c17084a0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.8417716} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.535711,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","rebac_allow":false,"scope_allow":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":"dadf6850-32d2-11ef-8c48-074c31242816"},"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/35562c35-00f9-42eb-9999-766c4a1499d6/signaling 200 9ms","method":"POST","requestID":"dadf6850-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d4ecdf2-bf76-48e7-87d3-2f428c27d2c3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306666.8525803} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.188688,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dae11600-32d2-11ef-8c48-074c31242816"},"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/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling 200 8ms","method":"POST","requestID":"dae11600-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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":"b9b2df854398561e7c9193ee9dece999","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1'"} 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/7c478c29-603d-4081-bb2e-23dfbff0d2f1"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"b9b2df854398561e7c9193ee9dece999","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"b9b2df854398561e7c9193ee9dece999"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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":"11dc798ef257e9185cde8e024ab57515","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/7c478c29-603d-4081-bb2e-23dfbff0d2f1"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0b3f982-3f21-472d-bdbf-32b1d8ae7df9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e694777-b365-4812-acef-5d47e0356dea","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.0177298} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.787884,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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":"dc2afb20-32d2-11ef-8c48-074c31242816"},"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/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9 200 13ms","method":"GET","requestID":"dc2afb20-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"11dc798ef257e9185cde8e024ab57515","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"11dc798ef257e9185cde8e024ab57515"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad1d3de3-edb1-42a7-a488-150cfbc56a51","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.0556724} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.364473,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","rebac_allow":false,"scope_allow":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":"dc313cb0-32d2-11ef-8c48-074c31242816"},"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/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling 200 9ms","method":"POST","requestID":"dc313cb0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96e9c8ef-53bc-4600-b99a-1fd6dab15f16","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.0679412} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541398,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","rebac_allow":false,"scope_allow":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":"dc331170-32d2-11ef-8c48-074c31242816"},"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/35562c35-00f9-42eb-9999-766c4a1499d6/signaling 200 10ms","method":"POST","requestID":"dc331170-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b07fe43768761df2a36eb0222edafefa","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.50679,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} 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":"b07fe43768761df2a36eb0222edafefa"},"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/f2d976df-ce01-4b2e-9df9-16b11302648b"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b07fe43768761df2a36eb0222edafefa"} experiment-1 | {"level":"info","message":"GET /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b 200 23ms","method":"GET","requestID":"b07fe43768761df2a36eb0222edafefa","responseTime":23,"status":200,"url":"/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a0ba6f67528302a2cd6757f6e7d78adc","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.253426,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} 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":"a0ba6f67528302a2cd6757f6e7d78adc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.314175,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} 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":"dc516ee0-32d2-11ef-8c48-074c31242816"},"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/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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":"a731fad3eb3d948b78747c2c76be2724","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/7c478c29-603d-4081-bb2e-23dfbff0d2f1"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0b3f982-3f21-472d-bdbf-32b1d8ae7df9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb0b3f982-3f21-472d-bdbf-32b1d8ae7df9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"ccf2ca41-59f7-4003-8b62-a6471ed9738a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.2874558} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"300a9155-6ef9-4f61-92fd-bbcc6e5fdc5d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.2879126} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0afcdd5e268830fe256f553eac52fd03","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc516ee0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"b0b3f982-3f21-472d-bdbf-32b1d8ae7df9","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/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9 204 43ms","method":"DELETE","requestID":"dc516ee0-32d2-11ef-8c48-074c31242816","responseTime":43,"status":204,"url":"/peerconnections/b0b3f982-3f21-472d-bdbf-32b1d8ae7df9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c478c29-603d-4081-bb2e-23dfbff0d2f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80dfc150-b094-41e1-810a-3fd488bace75","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.3335807} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.334255,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1","object_type":"device","rebac_allow":false,"scope_allow":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":"dc5b59f0-32d2-11ef-8c48-074c31242816"},"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/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling 200 12ms","method":"POST","requestID":"dc5b59f0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2d976df-ce01-4b2e-9df9-16b11302648b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff2d976df-ce01-4b2e-9df9-16b11302648b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"066d2897-fca2-4c80-8085-4b9b9c67b52a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.3404725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"388e1848-c4f1-4c20-96fe-b5ad6ee909a7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.3409278} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0ba6f67528302a2cd6757f6e7d78adc"},"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:52986","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35562c35-00f9-42eb-9999-766c4a1499d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"331c484f-ba52-4391-8751-285a619edf88","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.3480558} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.588859,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6","object_type":"device","rebac_allow":false,"scope_allow":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":"dc5da3e0-32d2-11ef-8c48-074c31242816"},"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/35562c35-00f9-42eb-9999-766c4a1499d6/signaling 200 12ms","method":"POST","requestID":"dc5da3e0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/35562c35-00f9-42eb-9999-766c4a1499d6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0ba6f67528302a2cd6757f6e7d78adc"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"4.426","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ba562a1d0fd5d6559498844210b32b0e"} experiment-1 | {"level":"info","message":"DELETE /experiments/f2d976df-ce01-4b2e-9df9-16b11302648b 204 176ms","method":"DELETE","requestID":"a0ba6f67528302a2cd6757f6e7d78adc","responseTime":176,"status":204,"url":"/experiments/f2d976df-ce01-4b2e-9df9-16b11302648b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"a731fad3eb3d948b78747c2c76be2724","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"a731fad3eb3d948b78747c2c76be2724"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"0afcdd5e268830fe256f553eac52fd03"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"0afcdd5e268830fe256f553eac52fd03","responseTime":133,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3c923db011a747e5fea758dd20f67e5a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.907","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4dc7ac9d3e5835367b89bd32d2b50da6"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/35562c35-00f9-42eb-9999-766c4a1499d6' closed"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":4.549089,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} 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":"3c923db011a747e5fea758dd20f67e5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7c478c29-603d-4081-bb2e-23dfbff0d2f1' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f4f0e1db-975d-4e00-9c3a-13d96763c002","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.451786} 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":"3c923db011a747e5fea758dd20f67e5a"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64d61c85-0a14-4aaf-9825-4492a9184178","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.4567347} 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":"3c923db011a747e5fea758dd20f67e5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"ccfce0f8-2b3c-49e3-8487-3110c9a7b98a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.4719748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3936955d-c240-4e72-9dca-780fb08ad94d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.4721372} 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":"3c923db011a747e5fea758dd20f67e5a"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"f8a1bd36-d86f-465c-8c33-62b1342190ac","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.4773638} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c923db011a747e5fea758dd20f67e5a"},"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":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c923db011a747e5fea758dd20f67e5a"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"3c923db011a747e5fea758dd20f67e5a","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cbb89757b1231fe2a2af7c89b4ef4567","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.729332,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb89757b1231fe2a2af7c89b4ef4567"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"796b4d97-1373-46e0-9a6a-0b9551daa92e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.5006597} 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":"cbb89757b1231fe2a2af7c89b4ef4567"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e82eefa3-5ff1-4427-a92c-eb2bc6a13902","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.506693} 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":"cbb89757b1231fe2a2af7c89b4ef4567"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1998ed34-4a6b-4f6e-a53c-5a7eb28ac546","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.5160124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06a07000-e941-4a51-ab8a-18d57192ff68","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.5161881} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb89757b1231fe2a2af7c89b4ef4567"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"20f125e1-ba44-4cd8-b57a-6c72d16af61f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306669.5204725} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbb89757b1231fe2a2af7c89b4ef4567"},"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 37ms","method":"POST","requestID":"cbb89757b1231fe2a2af7c89b4ef4567","responseTime":37,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbb89757b1231fe2a2af7c89b4ef4567"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"7b81428571b1258a006edb052593d2d2","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1071a6fba1021b6ad7556ddfe55499a8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699658,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b81428571b1258a006edb052593d2d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836728,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306669,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY2OX0.vLoKk-xzKN2EjOB6B0qG9-OLbzfYC1j5Tgez3TkQCag"} 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":"1071a6fba1021b6ad7556ddfe55499a8"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"d13d10f2-f170-4ff1-9beb-e72705d068ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.0081987} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b81428571b1258a006edb052593d2d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"95d85a09-2578-44e8-a20f-310254789679","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.0088775} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1071a6fba1021b6ad7556ddfe55499a8"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7b42197-2d56-4f03-ae5e-808a24c6b950","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.0130079} 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":"7b81428571b1258a006edb052593d2d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26db522a-f8ed-44e7-99fc-f138a664e487","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.0143652} 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":"1071a6fba1021b6ad7556ddfe55499a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"caf310f0-fab2-4052-98f8-047e424e8b58","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.0173187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1071a6fba1021b6ad7556ddfe55499a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01 200 21ms","method":"PATCH","requestID":"1071a6fba1021b6ad7556ddfe55499a8","responseTime":21,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1071a6fba1021b6ad7556ddfe55499a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21021af4005b4fb7719a60a6f1576607","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618553,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21021af4005b4fb7719a60a6f1576607"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"b2406202-6e4d-48f3-8ece-b83cbc273c43","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.028655} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b81428571b1258a006edb052593d2d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/08bc797d-88d1-414a-9689-d6523be94924 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7b81428571b1258a006edb052593d2d2"} device-1 | {"level":"info","message":"PATCH /devices/08bc797d-88d1-414a-9689-d6523be94924 200 35ms","method":"PATCH","requestID":"7b81428571b1258a006edb052593d2d2","responseTime":35,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"62dac86d76496f0350aed4ceb30df80c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717757,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} 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":"62dac86d76496f0350aed4ceb30df80c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"21021af4005b4fb7719a60a6f1576607"} device-1 | {"level":"info","message":"POST /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/websocket 200 20ms","method":"POST","requestID":"21021af4005b4fb7719a60a6f1576607","responseTime":20,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/08bc797d-88d1-414a-9689-d6523be94924/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"62dac86d76496f0350aed4ceb30df80c"} device-1 | {"level":"info","message":"POST /devices/08bc797d-88d1-414a-9689-d6523be94924/websocket 200 16ms","method":"POST","requestID":"62dac86d76496f0350aed4ceb30df80c","responseTime":16,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f866a9165c0bea82691a5bb7b5b12498","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946881,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f866a9165c0bea82691a5bb7b5b12498"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"1a252ccd-cc52-41e4-8c35-db2de876cb8a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.0887094} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f866a9165c0bea82691a5bb7b5b12498"},"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":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08bc797d-88d1-414a-9689-d6523be94924? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f866a9165c0bea82691a5bb7b5b12498"} device-1 | {"level":"info","message":"GET /devices/08bc797d-88d1-414a-9689-d6523be94924? 200 13ms","method":"GET","requestID":"f866a9165c0bea82691a5bb7b5b12498","responseTime":13,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ac341b2b1d475ce4f236ca2e1a183b7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994114,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} 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":"5ac341b2b1d475ce4f236ca2e1a183b7"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"207ab991-8078-49eb-9b42-d659235f5f8d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.1073616} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ac341b2b1d475ce4f236ca2e1a183b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ac341b2b1d475ce4f236ca2e1a183b7"} device-1 | {"level":"info","message":"GET /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01? 200 11ms","method":"GET","requestID":"5ac341b2b1d475ce4f236ca2e1a183b7","responseTime":11,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"59814464463012f74e360bd36f0cb0d8","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:52986","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.201596,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} 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":"59814464463012f74e360bd36f0cb0d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"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:52986","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.817489,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcdb1140-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.301032,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcdb5f60-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"85012c4f-8987-43e6-9c6b-992fc6eea0c2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.1774526} 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":"dcdb1140-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"e3b8e3f7-2e2b-44c8-84b6-d24666b391df","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.18302} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/08bc797d-88d1-414a-9689-d6523be94924? 200 20ms","method":"GET","requestID":"dcdb1140-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcdb5f60-32d2-11ef-8c48-074c31242816"},"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/431cea82-cd1d-4dbc-91e4-1451c4e2ab01? 200 23ms","method":"GET","requestID":"dcdb5f60-32d2-11ef-8c48-074c31242816","responseTime":23,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"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/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967028,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dce830a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.849696,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} 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":"dce87ec0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"0a88bd29-88cf-48f8-8608-0f87639d818e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.2682815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"97932b6b-e2eb-482b-bc29-d268d0bb17e4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.269426} 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":"dce830a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dce87ec0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14afbe4e-fea1-46c0-ac5b-0569954e8654","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.2721355} authorization-1 | {"client_addr":"127.0.0.1:58262","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58262","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.442109,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","rebac_allow":false,"scope_allow":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":"dce8f3f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/08bc797d-88d1-414a-9689-d6523be94924? 200 33ms","method":"GET","requestID":"dce830a0-32d2-11ef-8c48-074c31242816","responseTime":33,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01? 200 31ms","method":"GET","requestID":"dce87ec0-32d2-11ef-8c48-074c31242816","responseTime":31,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5cf6975-a82c-4278-a8dc-9c7c15153f88#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5cf6975-a82c-4278-a8dc-9c7c15153f88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"696f7b95-cf5d-439b-a18f-0d88453bbfb1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.2851205} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a4a35c0-724e-41a2-9187-23cddf95346a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.2854428} device-1 | {"level":"info","message":"POST /devices/08bc797d-88d1-414a-9689-d6523be94924/signaling 200 31ms","method":"POST","requestID":"dce8f3f0-32d2-11ef-8c48-074c31242816","responseTime":31,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"59814464463012f74e360bd36f0cb0d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e43f6cf4-8cb8-44f3-a2f4-3c0f640d2991","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.2932} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0433e6ef-21b7-4487-8124-d6cd6a958991","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.29377} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.821086,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","rebac_allow":false,"scope_allow":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":"dcedd5f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.458945,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","rebac_allow":false,"scope_allow":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":"dcee2410-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59814464463012f74e360bd36f0cb0d8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 181ms","method":"POST","requestID":"59814464463012f74e360bd36f0cb0d8","responseTime":181,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/08bc797d-88d1-414a-9689-d6523be94924/signaling 200 12ms","method":"POST","requestID":"dcedd5f0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling 200 11ms","method":"POST","requestID":"dcee2410-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9a674015d3fd96567a9e86ce357c664c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c3c8e0b-67d8-4e5c-a851-d80ff84dcd10","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.3080633} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.553559,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.0272,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","rebac_allow":false,"scope_allow":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":"dcf01fe0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} 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":"9a674015d3fd96567a9e86ce357c664c"},"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/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling 200 13ms","method":"POST","requestID":"dcf01fe0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.471955855Z"}]},"request_id":"fb4e9eac-bf18-486d-8417-3b00dca9550f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.3149252} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"5aae5df5-f456-4b47-9458-9867ab27a8b1"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"578ea154-81f7-4dc4-b5c7-63031749f82c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"c23a446c-8308-43e8-8bcf-a11f7c89d1a0"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a674015d3fd96567a9e86ce357c664c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} 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/08bc797d-88d1-414a-9689-d6523be94924"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.915773,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} device-1 | {"level":"info","message":"GET /devices/08bc797d-88d1-414a-9689-d6523be94924? 200 17ms","method":"GET","requestID":"9a674015d3fd96567a9e86ce357c664c","responseTime":17,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08bc797d-88d1-414a-9689-d6523be94924? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a674015d3fd96567a9e86ce357c664c"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcf290e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0444c84ac8ddf3982f47c1b950774625","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704979,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306670,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3MH0.j9EYqk9sF1Q1TJaBuYRreQA4ZAmkOkyH2UWsvLvsYtI"} 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":"0444c84ac8ddf3982f47c1b950774625"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"fc7d72af-fa80-45b8-a981-d79f3adf4639","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.3339884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73b7d6ca-ae98-43b4-bfa6-6c96798a5af5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.334382} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:09.515993517Z"}]},"request_id":"c570ccbb-86b8-4c2c-98ed-57079a129710","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.3352597} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcf290e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0444c84ac8ddf3982f47c1b950774625"},"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":"25/Jun/2024:09:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0444c84ac8ddf3982f47c1b950774625"} device-1 | {"level":"info","message":"GET /devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01? 200 20ms","method":"GET","requestID":"0444c84ac8ddf3982f47c1b950774625","responseTime":20,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01?"} 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/8358a906-8dcc-432f-b582-25c907f0f2eb'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"dcf290e0-32d2-11ef-8c48-074c31242816","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a31070a-b8a8-46e4-82f7-7939b7dc2172","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.3807747} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.334361,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","rebac_allow":false,"scope_allow":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":"dcfb6a80-32d2-11ef-8c48-074c31242816"},"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/08bc797d-88d1-414a-9689-d6523be94924/signaling 200 9ms","method":"POST","requestID":"dcfb6a80-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb969730-26fd-4ebd-8601-e0808e4749ee","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306670.3920372} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.187521,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcfd1830-32d2-11ef-8c48-074c31242816"},"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/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling 200 9ms","method":"POST","requestID":"dcfd1830-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","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/8358a906-8dcc-432f-b582-25c907f0f2eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","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":"c622afd090520d56431f8a15f21b2a8b","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/08bc797d-88d1-414a-9689-d6523be94924"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"c622afd090520d56431f8a15f21b2a8b","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"c622afd090520d56431f8a15f21b2a8b"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","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/8358a906-8dcc-432f-b582-25c907f0f2eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","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":"6c08d40cd058dd5e01221f33fde21095","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/08bc797d-88d1-414a-9689-d6523be94924"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8358a906-8dcc-432f-b582-25c907f0f2eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dda45c89-1813-4b87-a56d-ac476b949d8f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.4793193} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.478227,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb","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":"de3b3d80-32d2-11ef-8c48-074c31242816"},"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/8358a906-8dcc-432f-b582-25c907f0f2eb 200 14ms","method":"GET","requestID":"de3b3d80-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"6c08d40cd058dd5e01221f33fde21095","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c08d40cd058dd5e01221f33fde21095"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c780eabf-fc7f-41c9-87af-574f56803316","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.5156245} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.108985,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","rebac_allow":false,"scope_allow":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":"de4109e0-32d2-11ef-8c48-074c31242816"},"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/08bc797d-88d1-414a-9689-d6523be94924/signaling 200 11ms","method":"POST","requestID":"de4109e0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"678f3bf9-a484-4145-b477-86ac587ecac0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.5280473} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.718499,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","rebac_allow":false,"scope_allow":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":"de4305b0-32d2-11ef-8c48-074c31242816"},"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/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling 200 9ms","method":"POST","requestID":"de4305b0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"670dada640f9994a43fbc7251f165046","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.257356,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306672,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0"} 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":"670dada640f9994a43fbc7251f165046"},"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/e5cf6975-a82c-4278-a8dc-9c7c15153f88"} gateway-1 | {"time_local":"25/Jun/2024:09:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"670dada640f9994a43fbc7251f165046"} experiment-1 | {"level":"info","message":"GET /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88 200 17ms","method":"GET","requestID":"670dada640f9994a43fbc7251f165046","responseTime":17,"status":200,"url":"/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0fc7f330e5b817d9c6f079e44638efa3","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.304418,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306672,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0"} 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":"0fc7f330e5b817d9c6f079e44638efa3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.429705,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306672,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0"} 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":"de60edf0-32d2-11ef-8c48-074c31242816"},"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/8358a906-8dcc-432f-b582-25c907f0f2eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8358a906-8dcc-432f-b582-25c907f0f2eb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8358a906-8dcc-432f-b582-25c907f0f2eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"e72ff22c-cda5-4a5b-95d3-2a766a1442a2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.7421026} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c823a52a-98eb-4285-a6ba-a65e9d66187e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.742193} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"010f99c25911b2a50871580fc413d401","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de60edf0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"867729a1f7dfdb82e1806ddb1f770975","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"8358a906-8dcc-432f-b582-25c907f0f2eb","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/8358a906-8dcc-432f-b582-25c907f0f2eb 204 46ms","method":"DELETE","requestID":"de60edf0-32d2-11ef-8c48-074c31242816","responseTime":46,"status":204,"url":"/peerconnections/8358a906-8dcc-432f-b582-25c907f0f2eb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bc797d-88d1-414a-9689-d6523be94924","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ec94b27-0a9d-49b3-bdbc-2b8042938206","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.7958844} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.600872,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924","object_type":"device","rebac_allow":false,"scope_allow":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":"de6b7540-32d2-11ef-8c48-074c31242816"},"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/08bc797d-88d1-414a-9689-d6523be94924/signaling 200 13ms","method":"POST","requestID":"de6b7540-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/08bc797d-88d1-414a-9689-d6523be94924/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5cf6975-a82c-4278-a8dc-9c7c15153f88': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe5cf6975-a82c-4278-a8dc-9c7c15153f88","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"b1afcd2b-2393-4636-892c-0819507924dd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.8025558} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f411ed3e-dbe3-41c3-afbf-489bc0722c42","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.8027606} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fc7f330e5b817d9c6f079e44638efa3"},"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:52986","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F431cea82-cd1d-4dbc-91e4-1451c4e2ab01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc45b877-888a-412b-81f6-b9b423d99ef4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.8104396} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.694082,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01","object_type":"device","rebac_allow":false,"scope_allow":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":"de6de640-32d2-11ef-8c48-074c31242816"},"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/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling 200 12ms","method":"POST","requestID":"de6de640-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"} gateway-1 | {"time_local":"25/Jun/2024:09:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fc7f330e5b817d9c6f079e44638efa3"} gateway-1 | {"time_local":"25/Jun/2024:09:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.832","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1aaaf6cc8cba3ca4a6d4cf0030e85d6e"} gateway-1 | {"time_local":"25/Jun/2024:09:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.823","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9c635e4372f970c09b00d2d072885fc6"} experiment-1 | {"level":"info","message":"DELETE /experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88 204 176ms","method":"DELETE","requestID":"0fc7f330e5b817d9c6f079e44638efa3","responseTime":176,"status":204,"url":"/experiments/e5cf6975-a82c-4278-a8dc-9c7c15153f88"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"010f99c25911b2a50871580fc413d401","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"010f99c25911b2a50871580fc413d401"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"867729a1f7dfdb82e1806ddb1f770975","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"867729a1f7dfdb82e1806ddb1f770975"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"85262139d49d544c3a6a5b21e8d78ce2","responseTime":5,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/08bc797d-88d1-414a-9689-d6523be94924' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.04869,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306672,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0"} 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":"85262139d49d544c3a6a5b21e8d78ce2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/431cea82-cd1d-4dbc-91e4-1451c4e2ab01' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70f951a9-1e1e-42e2-b7a2-a8b0ccc57daf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9093316} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85262139d49d544c3a6a5b21e8d78ce2"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f93f5b25-0c02-4173-8f79-5cd4ec4d1f7e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.917917} 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":"85262139d49d544c3a6a5b21e8d78ce2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"6b11858b-5434-4e4f-b150-b945e54cb42e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9279563} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d331cd5-a9c7-438d-9046-48044dd31597","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.928314} 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":"85262139d49d544c3a6a5b21e8d78ce2"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.927925645Z"}]},"request_id":"4ed97706-6a70-40a3-aadb-e3eada6e3e33","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.93445} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85262139d49d544c3a6a5b21e8d78ce2"},"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":"25/Jun/2024:09:11: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85262139d49d544c3a6a5b21e8d78ce2"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"85262139d49d544c3a6a5b21e8d78ce2","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4e597cb9cce2b3766edb5ade9320833","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.77156,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306672,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3Mn0.CRi8q4lJyEDlSqBm8QcfiT5R9Q1gcJVvP7EujyiLFW0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4e597cb9cce2b3766edb5ade9320833"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0e105c34-15f0-4c3f-aa2a-e345a7562519","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9664123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4e597cb9cce2b3766edb5ade9320833"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e78143f-9a1a-45f5-872a-aa1b6d43bac4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9723501} 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":"e4e597cb9cce2b3766edb5ade9320833"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"a2a87259-00c2-4941-b0b6-5c5064b20cb2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9836178} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d6c6aa4-a4b7-4e50-8e33-fc1aeab787a4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9838908} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4e597cb9cce2b3766edb5ade9320833"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.983588992Z"}]},"request_id":"c1200167-7ec5-41e9-9abb-b65b89c773d3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306672.9890969} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e4e597cb9cce2b3766edb5ade9320833"},"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":"25/Jun/2024:09:11: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.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4e597cb9cce2b3766edb5ade9320833"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"e4e597cb9cce2b3766edb5ade9320833","responseTime":49,"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":"2d6e5bd91cd893e1e3ed46977a240bb8","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b955d7cbf29d6f0773f6c9bad6b9a3ad","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/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":"2d6e5bd91cd893e1e3ed46977a240bb8"} device-1 | {"level":"info","message":"OPTIONS /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/websocket 200 1ms","method":"OPTIONS","requestID":"2d6e5bd91cd893e1e3ed46977a240bb8","responseTime":1,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/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":"b955d7cbf29d6f0773f6c9bad6b9a3ad"} device-1 | {"level":"info","message":"OPTIONS /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/websocket 200 0ms","method":"OPTIONS","requestID":"b955d7cbf29d6f0773f6c9bad6b9a3ad","responseTime":0,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NH0.2GY8U1Hx4JcMFmZpitZGzF-B6e0XpEQGLGp9JkIoIJc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"9b2121bc4a0a8da85e0ab9d9aba50cf0","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NH0.2GY8U1Hx4JcMFmZpitZGzF-B6e0XpEQGLGp9JkIoIJc","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c8e8aeda86279d2d8064d3f8c64b10e3","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814633,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:14Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306674,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NH0.2GY8U1Hx4JcMFmZpitZGzF-B6e0XpEQGLGp9JkIoIJc"} 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":"9b2121bc4a0a8da85e0ab9d9aba50cf0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.146659,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306674,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NH0.2GY8U1Hx4JcMFmZpitZGzF-B6e0XpEQGLGp9JkIoIJc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8e8aeda86279d2d8064d3f8c64b10e3"},"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":"25/Jun/2024:09:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c8e8aeda86279d2d8064d3f8c64b10e3"} device-1 | {"level":"info","message":"POST /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/websocket 200 14ms","method":"POST","requestID":"c8e8aeda86279d2d8064d3f8c64b10e3","responseTime":14,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9b2121bc4a0a8da85e0ab9d9aba50cf0"} device-1 | {"level":"info","message":"POST /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/websocket 200 24ms","method":"POST","requestID":"9b2121bc4a0a8da85e0ab9d9aba50cf0","responseTime":24,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a35b515fa771e30f50e4953a4e1ee581","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.051809,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a35b515fa771e30f50e4953a4e1ee581"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.927925645Z"}]},"request_id":"00748770-7fd2-49ae-ad7b-23d1cb42615f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.0145617} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a35b515fa771e30f50e4953a4e1ee581"},"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":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a35b515fa771e30f50e4953a4e1ee581"} device-1 | {"level":"info","message":"GET /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258? 200 15ms","method":"GET","requestID":"a35b515fa771e30f50e4953a4e1ee581","responseTime":15,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"12a543adc0cbcec7a5983c8da03286aa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170715,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12a543adc0cbcec7a5983c8da03286aa"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.983588992Z"}]},"request_id":"473e958e-03f4-4d41-ba78-9672d10d3236","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.0387447} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"12a543adc0cbcec7a5983c8da03286aa"},"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":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12a543adc0cbcec7a5983c8da03286aa"} device-1 | {"level":"info","message":"GET /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697? 200 18ms","method":"GET","requestID":"12a543adc0cbcec7a5983c8da03286aa","responseTime":18,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2d4b38a962972d5d73d0ac97212fe0f","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:52986","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.116149,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d4b38a962972d5d73d0ac97212fe0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"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:52986","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.458727,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"dfcc16b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065554,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"dfcc64d0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.927925645Z"}]},"request_id":"ffe8a168-4708-442c-a9c0-ff47da7a62b3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.115387} 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":"dfcc16b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.983588992Z"}]},"request_id":"77b40617-a2e2-4e09-8143-268b129b323a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.117439} 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":"dfcc64d0-32d2-11ef-8c48-074c31242816"},"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/2c49c9c3-5e39-4c59-ad20-65bb30427258? 200 25ms","method":"GET","requestID":"dfcc16b0-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697? 200 24ms","method":"GET","requestID":"dfcc64d0-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"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/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923842,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfd8e7f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822984,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"dfd95d20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:40312","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.983588992Z"}]},"request_id":"e3bb3cd2-678a-43cc-8795-826b707ecfbd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.1980102} 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":"dfd95d20-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.927925645Z"}]},"request_id":"82085aed-9d43-468a-b1d3-464039f43650","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2008522} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38295525-368f-4712-ae82-2c88b4b5a806","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2011747} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfd8e7f0-32d2-11ef-8c48-074c31242816"},"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:40312","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.844534,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","rebac_allow":false,"scope_allow":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":"dfd98430-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff80742de-18de-42d1-8b78-d97f62c0b674#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff80742de-18de-42d1-8b78-d97f62c0b674","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e5e11b39-bf71-4987-8495-1d3b0853f3f5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.210094} device-1 | {"level":"info","message":"GET /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697? 200 24ms","method":"GET","requestID":"dfd95d20-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"474d87fe-4072-4c8c-a305-db16582273ce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2103925} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258? 200 28ms","method":"GET","requestID":"dfd8e7f0-32d2-11ef-8c48-074c31242816","responseTime":28,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d4b38a962972d5d73d0ac97212fe0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"POST /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling 200 25ms","method":"POST","requestID":"dfd98430-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"765aefb7-37af-4a9d-b446-a82dedb502f5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2190285} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.633232,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","rebac_allow":false,"scope_allow":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":"dfdd7bd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 173ms","method":"POST","requestID":"d2d4b38a962972d5d73d0ac97212fe0f","responseTime":173,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.179","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2d4b38a962972d5d73d0ac97212fe0f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling 200 13ms","method":"POST","requestID":"dfdd7bd0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32c51667-90f5-475e-9ea2-b92f07c6798c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.228382} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.210039,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfde6630-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aebf531a06d3b9e0f8becb3855eebfd0","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b350cd6b-5ea9-4b86-bf18-ea6facc6e498","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.233775} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.108066,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} device-1 | {"level":"info","message":"POST /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling 200 16ms","method":"POST","requestID":"dfde6630-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","rebac_allow":false,"scope_allow":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":"dfdfecd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948314,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"aebf531a06d3b9e0f8becb3855eebfd0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling 200 10ms","method":"POST","requestID":"dfdfecd0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.927925645Z"}]},"request_id":"65562959-20f1-46a1-a788-68fcc8b3e9fc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2410827} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"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":"5866c39c-d269-4f49-a5a4-9581b007ea5a"},{"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":"fcd8f430-d6ce-4fea-8c23-19dff09b694c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5bfa2c1f-fc90-4449-8791-0382b15c7729"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aebf531a06d3b9e0f8becb3855eebfd0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697"},{"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/2c49c9c3-5e39-4c59-ad20-65bb30427258"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258? 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":"aebf531a06d3b9e0f8becb3855eebfd0"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} device-1 | {"level":"info","message":"GET /devices/2c49c9c3-5e39-4c59-ad20-65bb30427258? 200 15ms","method":"GET","requestID":"aebf531a06d3b9e0f8becb3855eebfd0","responseTime":15,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.892774,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"dfe236c0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e55989fd46ae16f0a3982fb93045c17","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658372,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"8e55989fd46ae16f0a3982fb93045c17"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"b653277c-a29d-42df-af27-46b358e66229","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.262839} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0fbb2a3-1909-4e7f-9fc7-961b6ba051dd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2632456} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:12.983588992Z"}]},"request_id":"dcc62fca-b86f-418e-ae8c-efb6f8d06ac2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.2640517} 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":"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":"dfe236c0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e55989fd46ae16f0a3982fb93045c17"},"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":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697? 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":"8e55989fd46ae16f0a3982fb93045c17"} device-1 | {"level":"info","message":"GET /devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697? 200 17ms","method":"GET","requestID":"8e55989fd46ae16f0a3982fb93045c17","responseTime":17,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697?"} 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/9acded5c-b8a0-4d24-a90c-9f0564076ba1'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"dfe236c0-32d2-11ef-8c48-074c31242816","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2375061-8550-4fbc-a25c-f469e649b7b4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.3107755} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.386117,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","rebac_allow":false,"scope_allow":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":"dfebaca0-32d2-11ef-8c48-074c31242816"},"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/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling 200 9ms","method":"POST","requestID":"dfebaca0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54b55c39-e1f1-419a-b19f-1672b8bc7e26","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.323872} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.128732,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","rebac_allow":false,"scope_allow":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":"dfeda870-32d2-11ef-8c48-074c31242816"},"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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling 200 10ms","method":"POST","requestID":"dfeda870-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9acded5c-b8a0-4d24-a90c-9f0564076ba1","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":"5b2ef650de2923ecafec39bad41d8751","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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697"},{"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/2c49c9c3-5e39-4c59-ad20-65bb30427258"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"5b2ef650de2923ecafec39bad41d8751","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b2ef650de2923ecafec39bad41d8751"} device-1 | {"data":{"peerconnection":"9acded5c-b8a0-4d24-a90c-9f0564076ba1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9acded5c-b8a0-4d24-a90c-9f0564076ba1","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/9acded5c-b8a0-4d24-a90c-9f0564076ba1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9acded5c-b8a0-4d24-a90c-9f0564076ba1","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":"a3957b541e751cfa1858aa0dd994a056","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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697"},{"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/2c49c9c3-5e39-4c59-ad20-65bb30427258"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9acded5c-b8a0-4d24-a90c-9f0564076ba1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f87b1e42-64cd-4296-94e7-115b8989a3b8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.398369} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.004279,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dff91a20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1 200 8ms","method":"GET","requestID":"dff91a20-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"a3957b541e751cfa1858aa0dd994a056","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"a3957b541e751cfa1858aa0dd994a056"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"743d456a-6db2-4951-81b9-e109a30b2dab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.427746} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887331,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","rebac_allow":false,"scope_allow":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":"dffd5fe0-32d2-11ef-8c48-074c31242816"},"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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling 200 12ms","method":"POST","requestID":"dffd5fe0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3d28cf8-20ac-4a05-8bd6-da46c691337a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.4471316} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.853234,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","rebac_allow":false,"scope_allow":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":"dfffa9d0-32d2-11ef-8c48-074c31242816"},"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/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling 200 17ms","method":"POST","requestID":"dfffa9d0-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fe5eaec5c18df8c3fe4bb05ddc477a46","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f80742de-18de-42d1-8b78-d97f62c0b674"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.687825,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe5eaec5c18df8c3fe4bb05ddc477a46"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f80742de-18de-42d1-8b78-d97f62c0b674"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f80742de-18de-42d1-8b78-d97f62c0b674 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe5eaec5c18df8c3fe4bb05ddc477a46"} experiment-1 | {"level":"info","message":"GET /experiments/f80742de-18de-42d1-8b78-d97f62c0b674 200 9ms","method":"GET","requestID":"fe5eaec5c18df8c3fe4bb05ddc477a46","responseTime":9,"status":200,"url":"/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"75916288e07f7b703091ca81e9dd0336","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f80742de-18de-42d1-8b78-d97f62c0b674"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.634366,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75916288e07f7b703091ca81e9dd0336"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.734073,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"e0083550-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9acded5c-b8a0-4d24-a90c-9f0564076ba1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9acded5c-b8a0-4d24-a90c-9f0564076ba1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9acded5c-b8a0-4d24-a90c-9f0564076ba1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"b0f22629-c01d-4878-81fe-5cdea002679a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.5091758} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f3da401-0ba6-4f17-91bb-ca928d0aa9ca","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.509324} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e0083550-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f61ec72c7d09291e2171e4617e2d4fd2","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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697"},{"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/2c49c9c3-5e39-4c59-ad20-65bb30427258"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"55a365a0e44d298fb3c182ff2e3de24d","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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697"},{"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/2c49c9c3-5e39-4c59-ad20-65bb30427258"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1 204 29ms","method":"DELETE","requestID":"e0083550-32d2-11ef-8c48-074c31242816","responseTime":29,"status":204,"url":"/peerconnections/9acded5c-b8a0-4d24-a90c-9f0564076ba1"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F384e184a-b8ab-44b1-bbf9-4a6a1d28e697","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9310db53-37cf-4582-9c18-d44533d42257","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.544831} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457809,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697","object_type":"device","rebac_allow":false,"scope_allow":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":"e00f3a30-32d2-11ef-8c48-074c31242816"},"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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling 200 10ms","method":"POST","requestID":"e00f3a30-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/384e184a-b8ab-44b1-bbf9-4a6a1d28e697/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff80742de-18de-42d1-8b78-d97f62c0b674': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff80742de-18de-42d1-8b78-d97f62c0b674","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"19828f14-d06b-4d13-b854-4be418b8d69b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.5508518} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3964d5b3-15be-4656-b8dd-215f3585fa28","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.5513053} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75916288e07f7b703091ca81e9dd0336"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c49c9c3-5e39-4c59-ad20-65bb30427258","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6e3b1bf-1fa6-4b00-8fec-d948c948dc2d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.5573025} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.392529,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258","object_type":"device","rebac_allow":false,"scope_allow":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":"e0113600-32d2-11ef-8c48-074c31242816"},"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/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling 200 10ms","method":"POST","requestID":"e0113600-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f80742de-18de-42d1-8b78-d97f62c0b674"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f80742de-18de-42d1-8b78-d97f62c0b674 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75916288e07f7b703091ca81e9dd0336"} experiment-1 | {"level":"info","message":"DELETE /experiments/f80742de-18de-42d1-8b78-d97f62c0b674 204 131ms","method":"DELETE","requestID":"75916288e07f7b703091ca81e9dd0336","responseTime":131,"status":204,"url":"/experiments/f80742de-18de-42d1-8b78-d97f62c0b674"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"f61ec72c7d09291e2171e4617e2d4fd2","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.107","http_referrer":"","http_user_agent":"node-fetch","requestID":"f61ec72c7d09291e2171e4617e2d4fd2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"55a365a0e44d298fb3c182ff2e3de24d","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"55a365a0e44d298fb3c182ff2e3de24d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1068d2dff309df111901f44832a6f847","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.651","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d85052eb02fc4631a5584c06b6ea59f1"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2886","request_time":"0.658","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8caa54c185ea119e523ec395462a5141"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.857865,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} 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":"1068d2dff309df111901f44832a6f847"},"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/384e184a-b8ab-44b1-bbf9-4a6a1d28e697' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1b223f60-55dc-4963-b2cf-9ce5e342979a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.6381497} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1068d2dff309df111901f44832a6f847"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f334c3a1-7535-49ef-9d1b-33d10a354bc4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.643114} 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":"1068d2dff309df111901f44832a6f847"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2c49c9c3-5e39-4c59-ad20-65bb30427258' closed"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"375ffd81-fb31-4375-b387-00a945db6f6b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.6562696} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c69250c2-b184-409e-a117-bae69bdf30c6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.6564572} 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":"1068d2dff309df111901f44832a6f847"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.656248829Z"}]},"request_id":"6b7608aa-7916-432d-af44-15bfba0bd1bc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.6611042} 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":"1068d2dff309df111901f44832a6f847"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1068d2dff309df111901f44832a6f847"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"1068d2dff309df111901f44832a6f847","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bcfe86932aa71cb5ce6b8951a495e77c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.785211,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306675,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3NX0.Ix-nKt1hRKT_oPZ1T9T3ncLTPjzXfhvEEu9DdkdT11k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcfe86932aa71cb5ce6b8951a495e77c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8295d12b-a545-4bb4-b45f-832beaa4c48b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.687655} 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":"bcfe86932aa71cb5ce6b8951a495e77c"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aafc4fc8-1a68-41a5-b151-26daee773121","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.6931546} 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":"bcfe86932aa71cb5ce6b8951a495e77c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"754485b1-754f-4611-a467-176a2b60859f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.7032926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb6f8ce4-1502-473b-90e1-3479ffdabc8d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.7038178} 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":"bcfe86932aa71cb5ce6b8951a495e77c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.703248352Z"}]},"request_id":"8b6f834f-5fb1-40cd-97d6-ae4577b684cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306675.7092757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcfe86932aa71cb5ce6b8951a495e77c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"bcfe86932aa71cb5ce6b8951a495e77c","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcfe86932aa71cb5ce6b8951a495e77c"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cd58e8e016e5b315490504048b08002b","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8f049988-06b9-4a04-b58b-cdfe3392695f/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":"cd58e8e016e5b315490504048b08002b"} device-1 | {"level":"info","message":"OPTIONS /devices/8f049988-06b9-4a04-b58b-cdfe3392695f/websocket 200 1ms","method":"OPTIONS","requestID":"cd58e8e016e5b315490504048b08002b","responseTime":1,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"559d87a47b61c47e725d503cd997d3e9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/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":"559d87a47b61c47e725d503cd997d3e9"} device-1 | {"level":"info","message":"OPTIONS /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/websocket 200 1ms","method":"OPTIONS","requestID":"559d87a47b61c47e725d503cd997d3e9","responseTime":1,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ee7db99d96073314930fa9a22575b8a0","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be3209de0504caa1ea8a60bd62bee9f6","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:52986","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988355,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ee7db99d96073314930fa9a22575b8a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.181988,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} 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":"be3209de0504caa1ea8a60bd62bee9f6"},"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":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"be3209de0504caa1ea8a60bd62bee9f6"} device-1 | {"level":"info","message":"POST /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/websocket 200 19ms","method":"POST","requestID":"be3209de0504caa1ea8a60bd62bee9f6","responseTime":19,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8f049988-06b9-4a04-b58b-cdfe3392695f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ee7db99d96073314930fa9a22575b8a0"} device-1 | {"level":"info","message":"POST /devices/8f049988-06b9-4a04-b58b-cdfe3392695f/websocket 200 30ms","method":"POST","requestID":"ee7db99d96073314930fa9a22575b8a0","responseTime":30,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e289f44fcd9da07db10028103d519f34","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.528877,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} 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":"e289f44fcd9da07db10028103d519f34"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.656248829Z"}]},"request_id":"932477f3-6365-4c8b-81b2-3b6737943ee1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.7319121} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e289f44fcd9da07db10028103d519f34"},"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":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e289f44fcd9da07db10028103d519f34"} device-1 | {"level":"info","message":"GET /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7? 200 18ms","method":"GET","requestID":"e289f44fcd9da07db10028103d519f34","responseTime":18,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc83f0d0b7aaf88f40f2bbaaaa69101e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271861,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc83f0d0b7aaf88f40f2bbaaaa69101e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.703248352Z"}]},"request_id":"4081f6e1-6a2a-4ef6-baba-85b06f81a058","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.7579854} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc83f0d0b7aaf88f40f2bbaaaa69101e"},"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":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f049988-06b9-4a04-b58b-cdfe3392695f? 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":"cc83f0d0b7aaf88f40f2bbaaaa69101e"} device-1 | {"level":"info","message":"GET /devices/8f049988-06b9-4a04-b58b-cdfe3392695f? 200 16ms","method":"GET","requestID":"cc83f0d0b7aaf88f40f2bbaaaa69101e","responseTime":16,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d5db6576404623732df081dbeea08517","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:52986","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.218634,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} 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":"d5db6576404623732df081dbeea08517"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"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:52986","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66448,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e168fdd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72444,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1694bf0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.656248829Z"}]},"request_id":"85560b25-413d-4f81-b823-cdd3b17584ec","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.815068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e168fdd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.703248352Z"}]},"request_id":"d6499ee1-7c4c-4772-a8af-7d3c7e11364f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.8163023} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1694bf0-32d2-11ef-8c48-074c31242816"},"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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7? 200 16ms","method":"GET","requestID":"e168fdd0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8f049988-06b9-4a04-b58b-cdfe3392695f? 200 15ms","method":"GET","requestID":"e1694bf0-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"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:52986","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885023,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1735e10-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761473,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e173d340-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f24ec278-e183-4c40-8850-4fa887a5bc27","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.8848627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.656248829Z"}]},"request_id":"d5235552-0196-4443-bace-71b28a1a161b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.8856254} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.703248352Z"}]},"request_id":"3fb9fdb3-bdb9-4828-9784-276d0f3a6074","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.8865657} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.648959,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","rebac_allow":false,"scope_allow":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":"e1742160-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1735e10-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e173d340-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling 200 18ms","method":"POST","requestID":"e1742160-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7? 200 25ms","method":"GET","requestID":"e1735e10-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8f049988-06b9-4a04-b58b-cdfe3392695f? 200 23ms","method":"GET","requestID":"e173d340-32d2-11ef-8c48-074c31242816","responseTime":23,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62404105-794c-4a77-a54e-1471ff1b4540#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62404105-794c-4a77-a54e-1471ff1b4540","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e79462b3-8cd8-414e-acc0-acf47bdfc6fc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9011745} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fef00c8b-ec0a-4be7-83f5-2bfd8e53fee0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9014153} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5db6576404623732df081dbeea08517"},"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:52986","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4057207-bd6a-4649-841a-5a08c9695234","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9065866} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733324,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","rebac_allow":false,"scope_allow":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":"e1777cc0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87d5bf03-63b0-4fcd-bf75-d008587e6ac2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9079173} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.421637,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e177cae0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5db6576404623732df081dbeea08517"} experiment-1 | {"level":"info","message":"POST /experiments? 201 140ms","method":"POST","requestID":"d5db6576404623732df081dbeea08517","responseTime":140,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling 200 12ms","method":"POST","requestID":"e1777cc0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling 200 11ms","method":"POST","requestID":"e177cae0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87ace88281c82796dbb67e18f707300f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179145,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87ace88281c82796dbb67e18f707300f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e540764-cb0b-46d8-9a8d-42c19468a307","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9222193} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.793507,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","rebac_allow":false,"scope_allow":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":"e179c6b0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.656248829Z"}]},"request_id":"cfe9cf66-b048-4ae3-aab1-336444304409","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9258728} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling 200 11ms","method":"POST","requestID":"e179c6b0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87ace88281c82796dbb67e18f707300f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"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":"c0e687cf-89fe-44ba-98d8-18ed0f0b5427"},{"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":"43ccadfb-193c-479d-8750-f48bbd323c03"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"db9a8eaa-fa98-41b9-9cff-1f15e5e057ef"}]},"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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7"},{"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/8f049988-06b9-4a04-b58b-cdfe3392695f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87ace88281c82796dbb67e18f707300f"} device-1 | {"level":"info","message":"GET /devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7? 200 15ms","method":"GET","requestID":"87ace88281c82796dbb67e18f707300f","responseTime":15,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.743159,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e17c10a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5f03e4a65dec84dcca527ce002175566","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755477,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306677,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3N30.QeQds9Vko5BzPS9p7fRqAa_rx2SNUgFISjA7EDcYEyQ"} 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":"5f03e4a65dec84dcca527ce002175566"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:15.703248352Z"}]},"request_id":"428c0581-008d-4c1d-a99d-91d2a63a90e2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9457362} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f03e4a65dec84dcca527ce002175566"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"a550ec36-1def-40d3-9731-a49753689306","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9467633} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9434bb1e-af30-4ee3-9378-d8fee3ef59bb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.947077} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e17c10a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8f049988-06b9-4a04-b58b-cdfe3392695f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f03e4a65dec84dcca527ce002175566"} device-1 | {"level":"info","message":"GET /devices/8f049988-06b9-4a04-b58b-cdfe3392695f? 200 13ms","method":"GET","requestID":"5f03e4a65dec84dcca527ce002175566","responseTime":13,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f?"} 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/144b3985-126b-48b8-b41a-06b8a8fb5b4f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"e17c10a0-32d2-11ef-8c48-074c31242816","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98f6746c-0d0e-471a-b291-e1a560a6ad78","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306677.9907093} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.281369,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","rebac_allow":false,"scope_allow":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":"e1849c20-32d2-11ef-8c48-074c31242816"},"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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling 200 9ms","method":"POST","requestID":"e1849c20-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc3e54cf-3793-4268-aac4-bddea1d33c06","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.0016441} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.157111,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","rebac_allow":false,"scope_allow":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":"e18649d0-32d2-11ef-8c48-074c31242816"},"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/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling 200 8ms","method":"POST","requestID":"e18649d0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"144b3985-126b-48b8-b41a-06b8a8fb5b4f","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 0ms","method":"GET","requestID":"afec1736d2dd4939959e96a8938e3f24","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7"},{"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/8f049988-06b9-4a04-b58b-cdfe3392695f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"afec1736d2dd4939959e96a8938e3f24","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"afec1736d2dd4939959e96a8938e3f24"} device-1 | {"data":{"peerconnection":"144b3985-126b-48b8-b41a-06b8a8fb5b4f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"144b3985-126b-48b8-b41a-06b8a8fb5b4f","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/144b3985-126b-48b8-b41a-06b8a8fb5b4f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"144b3985-126b-48b8-b41a-06b8a8fb5b4f","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":"3f587ad66c39c0719f45f6234de41c21","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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7"},{"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/8f049988-06b9-4a04-b58b-cdfe3392695f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F144b3985-126b-48b8-b41a-06b8a8fb5b4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55413747-d405-4676-b713-6bf459a124a0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.0842223} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.202937,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e192f400-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f 200 7ms","method":"GET","requestID":"e192f400-32d2-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"3f587ad66c39c0719f45f6234de41c21","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f587ad66c39c0719f45f6234de41c21"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50de6977-26b2-4c33-9468-d079225b053a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.113382} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.18319,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e19760d0-32d2-11ef-8c48-074c31242816"},"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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling 200 8ms","method":"POST","requestID":"e19760d0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40b60827-d390-4964-acaa-57d062a0b0dd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.1235034} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.106245,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e198e770-32d2-11ef-8c48-074c31242816"},"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/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling 200 8ms","method":"POST","requestID":"e198e770-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37f27fc3b5c938048472aee50a3e0e71","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/62404105-794c-4a77-a54e-1471ff1b4540"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.690574,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37f27fc3b5c938048472aee50a3e0e71"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/62404105-794c-4a77-a54e-1471ff1b4540"} experiment-1 | {"level":"info","message":"GET /experiments/62404105-794c-4a77-a54e-1471ff1b4540 200 9ms","method":"GET","requestID":"37f27fc3b5c938048472aee50a3e0e71","responseTime":9,"status":200,"url":"/experiments/62404105-794c-4a77-a54e-1471ff1b4540"} gateway-1 | {"time_local":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/62404105-794c-4a77-a54e-1471ff1b4540 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37f27fc3b5c938048472aee50a3e0e71"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"40e241fbae8f622a40a2478ab4c99c42","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/62404105-794c-4a77-a54e-1471ff1b4540"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.641305,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40e241fbae8f622a40a2478ab4c99c42"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.025163,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1a28460-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"144b3985-126b-48b8-b41a-06b8a8fb5b4f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F144b3985-126b-48b8-b41a-06b8a8fb5b4f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F144b3985-126b-48b8-b41a-06b8a8fb5b4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"be8ffe09-af63-4675-a77f-42d0dfb70f34","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.196387} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4397b0c3-03cf-4317-a731-ad6af1ae6d23","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.1966336} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e9fb8b1917e5a7b397d7ef850c668f31","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1a28460-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7"},{"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/8f049988-06b9-4a04-b58b-cdfe3392695f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f17fb900f8674ee5706653fa34023fd6","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7"},{"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/8f049988-06b9-4a04-b58b-cdfe3392695f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f 204 31ms","method":"DELETE","requestID":"e1a28460-32d2-11ef-8c48-074c31242816","responseTime":31,"status":204,"url":"/peerconnections/144b3985-126b-48b8-b41a-06b8a8fb5b4f"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62404105-794c-4a77-a54e-1471ff1b4540"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96b5abd7-8bae-45f7-a306-5cc8c400e7f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a7b42d1-2c8b-4caf-b192-caac93635000","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.2339714} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.109383,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7","object_type":"device","rebac_allow":false,"scope_allow":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":"e1a9b050-32d2-11ef-8c48-074c31242816"},"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/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling 200 9ms","method":"POST","requestID":"e1a9b050-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62404105-794c-4a77-a54e-1471ff1b4540': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62404105-794c-4a77-a54e-1471ff1b4540","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"f86d42ef-393a-4f77-ba3f-d7510e316ee9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.2392502} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2a8a805-3538-4234-bef6-287f9b97b163","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.2394414} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"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":"40e241fbae8f622a40a2478ab4c99c42"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8f049988-06b9-4a04-b58b-cdfe3392695f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59a7b1ee-2659-46ad-a79f-5558194c9598","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.2457933} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.892946,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f","object_type":"device","rebac_allow":false,"scope_allow":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":"e1ab8510-32d2-11ef-8c48-074c31242816"},"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/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling 200 8ms","method":"POST","requestID":"e1ab8510-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/8f049988-06b9-4a04-b58b-cdfe3392695f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/62404105-794c-4a77-a54e-1471ff1b4540"} gateway-1 | {"time_local":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/62404105-794c-4a77-a54e-1471ff1b4540 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40e241fbae8f622a40a2478ab4c99c42"} experiment-1 | {"level":"info","message":"DELETE /experiments/62404105-794c-4a77-a54e-1471ff1b4540 204 131ms","method":"DELETE","requestID":"40e241fbae8f622a40a2478ab4c99c42","responseTime":131,"status":204,"url":"/experiments/62404105-794c-4a77-a54e-1471ff1b4540"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"e9fb8b1917e5a7b397d7ef850c668f31","responseTime":108,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75ebfdc8e2ea5e711185afbfaf63f34c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"f17fb900f8674ee5706653fa34023fd6","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.111","http_referrer":"","http_user_agent":"node-fetch","requestID":"e9fb8b1917e5a7b397d7ef850c668f31"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.112","http_referrer":"","http_user_agent":"node-fetch","requestID":"f17fb900f8674ee5706653fa34023fd6"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2885","request_time":"0.615","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4d7e5881260cd849fb6ffca6af5f50bf"} gateway-1 | {"time_local":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2888","request_time":"0.623","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8d68d4c7d6a548d6eb9a3b24733d7972"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.925982,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} 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":"75ebfdc8e2ea5e711185afbfaf63f34c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/96b5abd7-8bae-45f7-a306-5cc8c400e7f7' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8f049988-06b9-4a04-b58b-cdfe3392695f' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f555941-a9f7-4c52-b869-fbb90f01f8fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3312006} 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":"75ebfdc8e2ea5e711185afbfaf63f34c"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"158c6386-0305-445c-8013-8c8f600e1d60","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.335161} 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":"75ebfdc8e2ea5e711185afbfaf63f34c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5dd47f9c-27ae-48ba-82e5-0819651674f7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3448038} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a01ed16b-5e80-48c5-b3a3-aaca9fe646d7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3449457} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75ebfdc8e2ea5e711185afbfaf63f34c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.344784918Z"}]},"request_id":"5fa459ba-6778-4787-a8e3-5a6e0432ec4a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3482988} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75ebfdc8e2ea5e711185afbfaf63f34c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75ebfdc8e2ea5e711185afbfaf63f34c"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"75ebfdc8e2ea5e711185afbfaf63f34c","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f528f78d5afd70e68239f1205290d94d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.760372,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f528f78d5afd70e68239f1205290d94d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ec89b697-c910-45e3-879a-58b5f190221e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3700838} 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":"f528f78d5afd70e68239f1205290d94d"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65268a75-98ee-4ca8-9ee9-ed093a262cd3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3759725} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f528f78d5afd70e68239f1205290d94d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"fd08b3f0-c3bf-40f0-9d82-62ae378afacb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3894875} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"882d30b9-b7d4-4e49-bfd9-8a523a769dda","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3896017} 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":"f528f78d5afd70e68239f1205290d94d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"629b2a00-a3fa-4e79-a1ea-e3cb8a2111a4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.3930874} 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":"f528f78d5afd70e68239f1205290d94d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f528f78d5afd70e68239f1205290d94d"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"f528f78d5afd70e68239f1205290d94d","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bc1710ddeb71c30f3104285f707551a0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717812,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc1710ddeb71c30f3104285f707551a0"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"7183ec34-412e-411c-bf82-6961de3240da","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.8885162} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc1710ddeb71c30f3104285f707551a0"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29c6c5ff-d640-41a0-93f1-2a99209e943e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.8942013} 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":"bc1710ddeb71c30f3104285f707551a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"0330b3b8-8f32-45ca-895f-6bb4ad3109ba","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306678.9058168} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc1710ddeb71c30f3104285f707551a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5 200 32ms","method":"PATCH","requestID":"bc1710ddeb71c30f3104285f707551a0","responseTime":32,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5"} gateway-1 | {"time_local":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bc1710ddeb71c30f3104285f707551a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"476f7db7dcde00a212ec18c710ce8615","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133993,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306678,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY3OH0.2qZKsCOMwHIykPeyAtkDB6AuJ0SWZxYfKJm4M3Kkm8g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"476f7db7dcde00a212ec18c710ce8615"},"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":"25/Jun/2024:09:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"476f7db7dcde00a212ec18c710ce8615"} device-1 | {"level":"info","message":"POST /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/websocket 200 21ms","method":"POST","requestID":"476f7db7dcde00a212ec18c710ce8615","responseTime":21,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5' 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":"cecc501f42af70076b3e9bb5dedd3ead","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/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":"cecc501f42af70076b3e9bb5dedd3ead"} device-1 | {"level":"info","message":"OPTIONS /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/websocket 200 1ms","method":"OPTIONS","requestID":"cecc501f42af70076b3e9bb5dedd3ead","responseTime":1,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"711dbf894b15bdbc088a303de7e1ecaf","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.252607,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"711dbf894b15bdbc088a303de7e1ecaf"},"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":"25/Jun/2024:09:11:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"711dbf894b15bdbc088a303de7e1ecaf"} device-1 | {"level":"info","message":"POST /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/websocket 200 27ms","method":"POST","requestID":"711dbf894b15bdbc088a303de7e1ecaf","responseTime":27,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9c17a1268c2792e45324897d8c4b3644","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212869,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c17a1268c2792e45324897d8c4b3644"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.344784918Z"}]},"request_id":"cc415ddb-5a39-4b26-9ce8-3ca66e0851e3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.4065547} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c17a1268c2792e45324897d8c4b3644"},"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62? 200 18ms","method":"GET","requestID":"9c17a1268c2792e45324897d8c4b3644","responseTime":18,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c17a1268c2792e45324897d8c4b3644"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fb7428561d3b6166db82c242f94c67b7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187689,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb7428561d3b6166db82c242f94c67b7"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"c21c9e6f-3e8b-4279-9d36-a476a4e5ddf7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.4321783} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb7428561d3b6166db82c242f94c67b7"},"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":"25/Jun/2024:09:11:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb7428561d3b6166db82c242f94c67b7"} device-1 | {"level":"info","message":"GET /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5? 200 18ms","method":"GET","requestID":"fb7428561d3b6166db82c242f94c67b7","responseTime":18,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"3d7353e68edbc2bb4df9b4440dae7c52","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.398669,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} 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":"3d7353e68edbc2bb4df9b4440dae7c52"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"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:52986","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772412,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e303c210-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807405,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} 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":"e3041030-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.344784918Z"}]},"request_id":"692b74fa-d6c8-483a-8b04-b3f117ab73b6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.507224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e303c210-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"a5b1e39c-a742-4513-ad76-942dd440739a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.50832} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3041030-32d2-11ef-8c48-074c31242816"},"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62? 200 18ms","method":"GET","requestID":"e303c210-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5? 200 18ms","method":"GET","requestID":"e3041030-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"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:52986","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.389495,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} 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":"e310e170-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.085036,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} 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":"e31156a0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.344784918Z"}]},"request_id":"002593f1-644e-4e46-a649-a603f2e84046","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.5984852} 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":"e310e170-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"2f7725e6-304b-4ddd-970c-95294ebffe09","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6019983} 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":"e31156a0-32d2-11ef-8c48-074c31242816"},"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:40316","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1314a63-ddc1-46cb-a63a-bfa7eb9b2483","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6076267} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62? 200 26ms","method":"GET","requestID":"e310e170-32d2-11ef-8c48-074c31242816","responseTime":26,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62?"} authorization-1 | {"client_addr":"127.0.0.1:40316","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.552542,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","rebac_allow":false,"scope_allow":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":"e311cbd0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5? 200 28ms","method":"GET","requestID":"e31156a0-32d2-11ef-8c48-074c31242816","responseTime":28,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F186bf32e-1830-49bc-8e6a-c15f6f7d6979#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F186bf32e-1830-49bc-8e6a-c15f6f7d6979","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"0c6850a6-326a-4c09-a568-3d3c53970f32","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6154165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f36c01ec-dfb0-48fe-99fe-d421aec3eda9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.615898} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d7353e68edbc2bb4df9b4440dae7c52"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling 200 32ms","method":"POST","requestID":"e311cbd0-32d2-11ef-8c48-074c31242816","responseTime":32,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ae02155-d91a-4607-b072-ab4e2e6a0138","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6263192} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.968639,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","rebac_allow":false,"scope_allow":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":"e31638a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d7353e68edbc2bb4df9b4440dae7c52"} experiment-1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"3d7353e68edbc2bb4df9b4440dae7c52","responseTime":184,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94e0095b-44f5-4373-8d06-099adce33639","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6372135} device-1 | {"level":"info","message":"POST /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling 200 19ms","method":"POST","requestID":"e31638a0-32d2-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.3005,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ","level":"info","message":"auth send jwt"} 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":"e3179830-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cae464be65998a93fe226790b200b608","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03763da1-87c5-4f1e-be99-635dffc46a04","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6474752} device-1 | {"level":"info","message":"POST /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling 200 21ms","method":"POST","requestID":"e3179830-32d2-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.629384,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","rebac_allow":false,"scope_allow":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":"e319bb10-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:58254","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083002,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cae464be65998a93fe226790b200b608"},"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/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling 200 13ms","method":"POST","requestID":"e319bb10-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.344784918Z"}]},"request_id":"c8a86dca-1da0-4a78-884e-306fa09f792a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.655841} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"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":"3996ddea-cf8f-4717-9b9b-48109cb711af"},{"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":"dde5f914-803c-4969-a967-73975a637c3a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"692da5dd-8cbe-4491-b207-b50a0d7e6b3c"}]},"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/682665d6-d4ad-4cb7-b932-21380d3f02b5"},{"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cae464be65998a93fe226790b200b608"},"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:52986","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62? 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":"cae464be65998a93fe226790b200b608"} device-1 | {"level":"info","message":"GET /devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62? 200 16ms","method":"GET","requestID":"cae464be65998a93fe226790b200b608","responseTime":16,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.797145,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e31c5320-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d92888fb96fcd1b29a2a3cf2fc97d00","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696135,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306680,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4MH0.hebqVrh-BzZl-mJptuY0X2VUTgLokpyUmZi1q2rsFzQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d92888fb96fcd1b29a2a3cf2fc97d00"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"dd32df30-a460-49c2-9547-dc6bf31684f1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6716359} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3c0372e-d012-4213-b128-bacfc013cd9a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6718283} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e31c5320-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:18.389468598Z"}]},"request_id":"97068e9d-dee2-4019-87fa-c9c694436bdc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.6755211} 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":"1d92888fb96fcd1b29a2a3cf2fc97d00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481'"} 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 29ms","method":"POST","requestID":"e31c5320-32d2-11ef-8c48-074c31242816","responseTime":29,"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":"25/Jun/2024:09:11:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5? 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":"1d92888fb96fcd1b29a2a3cf2fc97d00"} device-1 | {"level":"info","message":"GET /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5? 200 21ms","method":"GET","requestID":"1d92888fb96fcd1b29a2a3cf2fc97d00","responseTime":21,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2bb6996-de51-4eab-b7d1-2e39021ae160","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.7205842} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.126225,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","rebac_allow":false,"scope_allow":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":"e32505b0-32d2-11ef-8c48-074c31242816"},"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling 200 9ms","method":"POST","requestID":"e32505b0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b99fd56e-4dc4-409e-9f1f-dd6c1a824a92","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306680.73036} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.24388,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e326b360-32d2-11ef-8c48-074c31242816"},"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/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling 200 8ms","method":"POST","requestID":"e326b360-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling"} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","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/030ee360-a650-48bc-a5d8-3f100ff61481' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","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":"0a0d855d487df2ac837301986bb7309c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5"},{"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"0a0d855d487df2ac837301986bb7309c","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a0d855d487df2ac837301986bb7309c"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62'"} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","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/030ee360-a650-48bc-a5d8-3f100ff61481' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","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":"a1acfb4530f940f4b9d2da5ffa5c6a3a","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/682665d6-d4ad-4cb7-b932-21380d3f02b5"},{"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F030ee360-a650-48bc-a5d8-3f100ff61481","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a49f05d8-564e-4c20-a6df-1b48689afcbd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306682.8406742} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.404675,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481","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":"e4688230-32d2-11ef-8c48-074c31242816"},"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/030ee360-a650-48bc-a5d8-3f100ff61481 200 10ms","method":"GET","requestID":"e4688230-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"a1acfb4530f940f4b9d2da5ffa5c6a3a","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1acfb4530f940f4b9d2da5ffa5c6a3a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5910c111-849e-48e1-9497-58d32e758138","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306682.874826} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.632773,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","rebac_allow":false,"scope_allow":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":"e46d6430-32d2-11ef-8c48-074c31242816"},"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/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling 200 14ms","method":"POST","requestID":"e46d6430-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0aa8518d-4f1a-407a-8017-c0a2331fe7e8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306682.8913007} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.750563,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","rebac_allow":false,"scope_allow":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":"e46ffc40-32d2-11ef-8c48-074c31242816"},"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling 200 13ms","method":"POST","requestID":"e46ffc40-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4Mn0.3ZdSAqK4cLsxiRVq7QQisFBv2neti25uSQY1HPrPQs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"59fbb41c09c38463e264ee1ae7b2826c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.141364,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306682,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4Mn0.3ZdSAqK4cLsxiRVq7QQisFBv2neti25uSQY1HPrPQs8"} 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":"59fbb41c09c38463e264ee1ae7b2826c"},"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/186bf32e-1830-49bc-8e6a-c15f6f7d6979"} experiment-1 | {"level":"info","message":"GET /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979 200 15ms","method":"GET","requestID":"59fbb41c09c38463e264ee1ae7b2826c","responseTime":15,"status":200,"url":"/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"} gateway-1 | {"time_local":"25/Jun/2024:09:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59fbb41c09c38463e264ee1ae7b2826c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4Mn0.3ZdSAqK4cLsxiRVq7QQisFBv2neti25uSQY1HPrPQs8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5dc146939ceb58595b1985ef27eced02","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.364053,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306682,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4Mn0.3ZdSAqK4cLsxiRVq7QQisFBv2neti25uSQY1HPrPQs8"} 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":"5dc146939ceb58595b1985ef27eced02"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.155506,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306682,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4Mn0.3ZdSAqK4cLsxiRVq7QQisFBv2neti25uSQY1HPrPQs8"} 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":"e47c7f60-32d2-11ef-8c48-074c31242816"},"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/030ee360-a650-48bc-a5d8-3f100ff61481' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","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":"bca4b90b5b10707bd7e57211e9f64a0f","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F030ee360-a650-48bc-a5d8-3f100ff61481': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F030ee360-a650-48bc-a5d8-3f100ff61481","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"24a1f515-e2f7-4d28-ba84-b2c4ac07ee20","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306682.9943645} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5"},{"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af2e729a58c6c6fd2c2029f8849813c5","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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f888ffe4-8490-4d3f-b74f-5a9bb77f795f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306682.9951558} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5"},{"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e47c7f60-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"030ee360-a650-48bc-a5d8-3f100ff61481","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/030ee360-a650-48bc-a5d8-3f100ff61481 204 51ms","method":"DELETE","requestID":"e47c7f60-32d2-11ef-8c48-074c31242816","responseTime":51,"status":204,"url":"/peerconnections/030ee360-a650-48bc-a5d8-3f100ff61481"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F682665d6-d4ad-4cb7-b932-21380d3f02b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"692d8814-1f3e-4b48-8454-d19dc7f8b2af","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.0516589} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.353015,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5","object_type":"device","rebac_allow":false,"scope_allow":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":"e4883f30-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F186bf32e-1830-49bc-8e6a-c15f6f7d6979': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F186bf32e-1830-49bc-8e6a-c15f6f7d6979","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"be967c8d-1f00-4f99-b381-85563fe85626","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.0591125} device-1 | {"level":"info","message":"POST /devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling 200 16ms","method":"POST","requestID":"e4883f30-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2352136-05c2-4fd2-9738-e88b4a2053b0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.05984} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5dc146939ceb58595b1985ef27eced02"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce8629ca-6f67-460e-abeb-abe5f5b5fb62","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad51cc12-4f6a-42ff-9b0c-cbdd7b5ce9af","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.069474} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.740734,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62","object_type":"device","rebac_allow":false,"scope_allow":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":"e48b2560-32d2-11ef-8c48-074c31242816"},"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/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling 200 14ms","method":"POST","requestID":"e48b2560-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"} gateway-1 | {"time_local":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5dc146939ceb58595b1985ef27eced02"} experiment-1 | {"level":"info","message":"DELETE /experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979 204 185ms","method":"DELETE","requestID":"5dc146939ceb58595b1985ef27eced02","responseTime":185,"status":204,"url":"/experiments/186bf32e-1830-49bc-8e6a-c15f6f7d6979"} gateway-1 | {"time_local":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3229","request_time":"4.194","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1a5d630739f2b115aba63934e2b8fdc7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"bca4b90b5b10707bd7e57211e9f64a0f","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"bca4b90b5b10707bd7e57211e9f64a0f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"af2e729a58c6c6fd2c2029f8849813c5","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"af2e729a58c6c6fd2c2029f8849813c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e14bb94084204427a4e65fd66904e0da","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:23Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.773","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"19eb594c5617a7c388785c8b334df8ef"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.165212,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306683,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU"} 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":"e14bb94084204427a4e65fd66904e0da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/682665d6-d4ad-4cb7-b932-21380d3f02b5' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb4778ed-1b34-4856-b2fc-225e1cd78781","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.1676736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e14bb94084204427a4e65fd66904e0da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ce8629ca-6f67-460e-abeb-abe5f5b5fb62' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"858c744c-3d11-4896-8491-761b01f7ee0d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.1739404} 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":"e14bb94084204427a4e65fd66904e0da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"6adb0f00-a9e0-4dfc-8271-1a6d8847b8ed","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.189677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bca804ce-0d34-40aa-a045-0e962840604a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.1899128} 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":"e14bb94084204427a4e65fd66904e0da"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.189646184Z"}]},"request_id":"9d52bc14-d7ef-4f3c-b476-baac22cb7087","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.1946526} 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":"e14bb94084204427a4e65fd66904e0da"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e14bb94084204427a4e65fd66904e0da"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"e14bb94084204427a4e65fd66904e0da","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ecd97656d1ea1e2980de7dfbc5a30622","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.879008,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306683,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecd97656d1ea1e2980de7dfbc5a30622"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4cc421ca-56cc-486e-bdfa-1a4dca509e7c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.2198384} 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":"ecd97656d1ea1e2980de7dfbc5a30622"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ef72193-d059-436c-aa11-e5770f7018cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.2245266} 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":"ecd97656d1ea1e2980de7dfbc5a30622"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"a6a2b78a-5aae-4cf7-b8de-8884ead40431","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.2342024} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5876dcf4-9777-4a99-b256-02625ade375f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.2343626} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecd97656d1ea1e2980de7dfbc5a30622"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"31a5e64b-a8a2-49a6-b414-e366fcaa20e2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.238829} 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":"ecd97656d1ea1e2980de7dfbc5a30622"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"ecd97656d1ea1e2980de7dfbc5a30622","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ecd97656d1ea1e2980de7dfbc5a30622"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"452459e7fee618fc455d834a56b3af3b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.100872,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306683,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452459e7fee618fc455d834a56b3af3b"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"1088d2da-ccf1-4215-94cc-3c4f3a980bfc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.7373157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452459e7fee618fc455d834a56b3af3b"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a640a95-1aef-4f3a-b118-7f5249b5930c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.745175} 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":"452459e7fee618fc455d834a56b3af3b"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"9ce732b8-f079-4990-a878-68bc27e96160","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306683.7579288} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"452459e7fee618fc455d834a56b3af3b"},"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":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/070d83f4-283d-472f-9e7e-b307fc6f150f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"452459e7fee618fc455d834a56b3af3b"} device-1 | {"level":"info","message":"PATCH /devices/070d83f4-283d-472f-9e7e-b307fc6f150f 200 38ms","method":"PATCH","requestID":"452459e7fee618fc455d834a56b3af3b","responseTime":38,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"014b5a8bb7192307377e361d9d676c9f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.173634,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306683,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4M30.FxrK89sW799bNAQKP2SrPPxIrVEUSUdvzftNeB2ZezU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"014b5a8bb7192307377e361d9d676c9f"},"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":"25/Jun/2024:09:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/070d83f4-283d-472f-9e7e-b307fc6f150f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"014b5a8bb7192307377e361d9d676c9f"} device-1 | {"level":"info","message":"POST /devices/070d83f4-283d-472f-9e7e-b307fc6f150f/websocket 200 17ms","method":"POST","requestID":"014b5a8bb7192307377e361d9d676c9f","responseTime":17,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f' 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":"a93e87532c50d3f0825aa58af037e748","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/155120c5-feca-4140-ad01-2d2fcafb87d7/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":"a93e87532c50d3f0825aa58af037e748"} device-1 | {"level":"info","message":"OPTIONS /devices/155120c5-feca-4140-ad01-2d2fcafb87d7/websocket 200 1ms","method":"OPTIONS","requestID":"a93e87532c50d3f0825aa58af037e748","responseTime":1,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6da3ab85f136e119a788e173b75f8146","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228082,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6da3ab85f136e119a788e173b75f8146"},"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/155120c5-feca-4140-ad01-2d2fcafb87d7/websocket 200 28ms","method":"POST","requestID":"6da3ab85f136e119a788e173b75f8146","responseTime":28,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/155120c5-feca-4140-ad01-2d2fcafb87d7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6da3ab85f136e119a788e173b75f8146"} device-1 | {"level":"info","message":"device 'http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"54e86624ac2c5515ebdb9831d6706bcc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.283003,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54e86624ac2c5515ebdb9831d6706bcc"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.189646184Z"}]},"request_id":"c7e30bcf-4261-4ddf-9dc9-0db7d9e9a5c7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.3369668} 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":"54e86624ac2c5515ebdb9831d6706bcc"},"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":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/155120c5-feca-4140-ad01-2d2fcafb87d7? 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":"54e86624ac2c5515ebdb9831d6706bcc"} device-1 | {"level":"info","message":"GET /devices/155120c5-feca-4140-ad01-2d2fcafb87d7? 200 19ms","method":"GET","requestID":"54e86624ac2c5515ebdb9831d6706bcc","responseTime":19,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e930298365c6c8aa73e2672b901d2f6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244806,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e930298365c6c8aa73e2672b901d2f6"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"bb0a8381-ec82-4c60-a5a9-99e6774dbd28","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.3629305} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e930298365c6c8aa73e2672b901d2f6"},"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":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/070d83f4-283d-472f-9e7e-b307fc6f150f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e930298365c6c8aa73e2672b901d2f6"} device-1 | {"level":"info","message":"GET /devices/070d83f4-283d-472f-9e7e-b307fc6f150f? 200 18ms","method":"GET","requestID":"5e930298365c6c8aa73e2672b901d2f6","responseTime":18,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ecd4b5cc84016c52de7fb9e846075191","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:52986","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.735229,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecd4b5cc84016c52de7fb9e846075191"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"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:52986","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.817781,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} 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":"e5f2a4a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47284","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47284","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55725,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} 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":"e5f2f2c0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.189646184Z"}]},"request_id":"039c2409-5435-4fad-93e9-3458621ac4ca","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.4279575} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5f2a4a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"14235ab2-8994-4adc-9e4b-94e318726f00","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.431739} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/155120c5-feca-4140-ad01-2d2fcafb87d7? 200 15ms","method":"GET","requestID":"e5f2a4a0-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7?"} 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":"e5f2f2c0-32d2-11ef-8c48-074c31242816"},"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/070d83f4-283d-472f-9e7e-b307fc6f150f? 200 16ms","method":"GET","requestID":"e5f2f2c0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"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:52986","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901895,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47284","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5fd5300-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47284","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037074,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} 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":"e5fda120-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:47300","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"fd0064a1-2aa0-446c-8353-a87badb70d6d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5025666} 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":"e5fda120-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.189646184Z"}]},"request_id":"ace16802-c9e6-4863-9add-c5f839ca76ce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.505259} 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":"e5fd5300-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71f29b49-f34c-45b3-bd66-fefebaab1364","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5070136} authorization-1 | {"client_addr":"127.0.0.1:47300","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.519474,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","rebac_allow":false,"scope_allow":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":"e5fdc830-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/070d83f4-283d-472f-9e7e-b307fc6f150f? 200 27ms","method":"GET","requestID":"e5fda120-32d2-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F433d992c-f0af-4d6c-b6cd-2a4de23a42aa#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F433d992c-f0af-4d6c-b6cd-2a4de23a42aa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"6db6a2a1-2ef4-42b9-9535-b7ae23e3edf9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5182402} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"583624ec-f2bc-420c-9bbe-7144e1f83843","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5185475} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/155120c5-feca-4140-ad01-2d2fcafb87d7? 200 32ms","method":"GET","requestID":"e5fd5300-32d2-11ef-8c48-074c31242816","responseTime":32,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecd4b5cc84016c52de7fb9e846075191"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device-1 | {"level":"info","message":"POST /devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling 200 30ms","method":"POST","requestID":"e5fdc830-32d2-11ef-8c48-074c31242816","responseTime":30,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44119a7a-0841-4f7f-9578-164f3cb05cdc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5283792} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.254687,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e602aa30-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ecd4b5cc84016c52de7fb9e846075191"} experiment-1 | {"level":"info","message":"POST /experiments? 201 161ms","method":"POST","requestID":"ecd4b5cc84016c52de7fb9e846075191","responseTime":161,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85f4b834-c046-45a5-9f09-fe1d3053659d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5369644} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.414018,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","rebac_allow":false,"scope_allow":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":"e603bba0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"59d81dfa3a7b48926e51dbdb2b12ecea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling 200 21ms","method":"POST","requestID":"e602aa30-32d2-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:47284","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} device-1 | {"level":"info","message":"POST /devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling 200 22ms","method":"POST","requestID":"e603bba0-32d2-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47284","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107685,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} 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":"59d81dfa3a7b48926e51dbdb2b12ecea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d962d5c6-66b8-4538-8d7b-91f5f80ac57d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.553615} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.126634,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","rebac_allow":false,"scope_allow":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":"e60653b0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.189646184Z"}]},"request_id":"8bd7132b-22dd-44aa-b6db-0e0d69d4c977","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.557969} 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":"59d81dfa3a7b48926e51dbdb2b12ecea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling 200 16ms","method":"POST","requestID":"e60653b0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"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":"5de8f655-3640-48c8-851c-700f666c9141"},{"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":"e69304c0-882a-4447-a807-9381f7507127"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d4ca8a17-d20a-4713-806c-0f8c1287bf83"}]},"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/070d83f4-283d-472f-9e7e-b307fc6f150f"},{"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/155120c5-feca-4140-ad01-2d2fcafb87d7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/155120c5-feca-4140-ad01-2d2fcafb87d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59d81dfa3a7b48926e51dbdb2b12ecea"} device-1 | {"level":"info","message":"GET /devices/155120c5-feca-4140-ad01-2d2fcafb87d7? 200 17ms","method":"GET","requestID":"59d81dfa3a7b48926e51dbdb2b12ecea","responseTime":17,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.835913,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea17895b673cc4c79d27cb7333cf687f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"e60960f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047949,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306685,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4NX0.oxN2i037UvzzS6a6EFl802HFWpBYhomwItgJjnqDNKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea17895b673cc4c79d27cb7333cf687f"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:23.234182396Z"}]},"request_id":"b64fc0ca-35a2-40d2-a571-8a1ae0585fb8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.585695} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea17895b673cc4c79d27cb7333cf687f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"2a9b6ba3-5384-445e-9237-219b764beb3d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5900471} 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e54878b4-c4ec-490c-8083-7b4db825b96f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.5902827} gateway-1 | {"time_local":"25/Jun/2024:09:11:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/070d83f4-283d-472f-9e7e-b307fc6f150f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea17895b673cc4c79d27cb7333cf687f"} device-1 | {"level":"info","message":"GET /devices/070d83f4-283d-472f-9e7e-b307fc6f150f? 200 19ms","method":"GET","requestID":"ea17895b673cc4c79d27cb7333cf687f","responseTime":19,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e60960f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"e60960f0-32d2-11ef-8c48-074c31242816","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bd55a1c-9517-43a4-9d64-f0c75d70fbb5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.6349108} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.288673,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e612fde0-32d2-11ef-8c48-074c31242816"},"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/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling 200 9ms","method":"POST","requestID":"e612fde0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df87aec8-f13c-494d-974c-6fd74c5330b9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306685.6451633} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.336057,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e614ab90-32d2-11ef-8c48-074c31242816"},"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/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling 200 8ms","method":"POST","requestID":"e614ab90-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling"} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","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/b9530a25-8526-4970-b79b-6e93fbd99fe4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","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":"f76dd94b1a40dc7dff698302d152bac9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f"},{"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/155120c5-feca-4140-ad01-2d2fcafb87d7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"f76dd94b1a40dc7dff698302d152bac9","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"f76dd94b1a40dc7dff698302d152bac9"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7'"} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","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/b9530a25-8526-4970-b79b-6e93fbd99fe4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","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":"e62c4333135b34868f12f4a989600e66","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/070d83f4-283d-472f-9e7e-b307fc6f150f"},{"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/155120c5-feca-4140-ad01-2d2fcafb87d7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb9530a25-8526-4970-b79b-6e93fbd99fe4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"584a69dc-47a8-4a6a-9670-2592a9a70db9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.758111} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.303105,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e756c880-32d2-11ef-8c48-074c31242816"},"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/b9530a25-8526-4970-b79b-6e93fbd99fe4 200 10ms","method":"GET","requestID":"e756c880-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"e62c4333135b34868f12f4a989600e66","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"e62c4333135b34868f12f4a989600e66"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60151f2d-8ce1-4483-ba52-d45957e265a4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.7846217} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699816,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","rebac_allow":false,"scope_allow":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":"e75ae730-32d2-11ef-8c48-074c31242816"},"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/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling 200 12ms","method":"POST","requestID":"e75ae730-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9275303e-cd0a-4170-a890-d8f9d4816413","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.8002255} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.287836,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","rebac_allow":false,"scope_allow":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":"e75d0a10-32d2-11ef-8c48-074c31242816"},"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/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling 200 12ms","method":"POST","requestID":"e75d0a10-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4N30.5QDxVbAJd4ggcTkHuieUWZaqnJCnywVGpzFbWTYuLWw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f0b6c138818a7a4bc2f77c76eebea179","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.334429,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306687,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4N30.5QDxVbAJd4ggcTkHuieUWZaqnJCnywVGpzFbWTYuLWw"} 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":"f0b6c138818a7a4bc2f77c76eebea179"},"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/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"} experiment-1 | {"level":"info","message":"GET /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa 200 16ms","method":"GET","requestID":"f0b6c138818a7a4bc2f77c76eebea179","responseTime":16,"status":200,"url":"/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"} gateway-1 | {"time_local":"25/Jun/2024:09:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0b6c138818a7a4bc2f77c76eebea179"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4N30.5QDxVbAJd4ggcTkHuieUWZaqnJCnywVGpzFbWTYuLWw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8b1f2f3b0dc97fac70ebfadb6d766e7a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.203907,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306687,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4N30.5QDxVbAJd4ggcTkHuieUWZaqnJCnywVGpzFbWTYuLWw"} 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":"8b1f2f3b0dc97fac70ebfadb6d766e7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.110633,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306687,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4N30.5QDxVbAJd4ggcTkHuieUWZaqnJCnywVGpzFbWTYuLWw"} 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":"e76b61f0-32d2-11ef-8c48-074c31242816"},"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/b9530a25-8526-4970-b79b-6e93fbd99fe4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","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":"b198b8087351ef9e17ab32d77d2ceb30","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb9530a25-8526-4970-b79b-6e93fbd99fe4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb9530a25-8526-4970-b79b-6e93fbd99fe4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"68b65df0-f036-4ec9-97b4-dab508f60e86","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.9168162} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f"},{"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/155120c5-feca-4140-ad01-2d2fcafb87d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4071f8b958d31342aecc73d1dfa38b62","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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c55b64a0-1c7c-4fd3-876f-6d2e66ff66a1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.9174323} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f"},{"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/155120c5-feca-4140-ad01-2d2fcafb87d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e76b61f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"b9530a25-8526-4970-b79b-6e93fbd99fe4","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/b9530a25-8526-4970-b79b-6e93fbd99fe4 204 54ms","method":"DELETE","requestID":"e76b61f0-32d2-11ef-8c48-074c31242816","responseTime":54,"status":204,"url":"/peerconnections/b9530a25-8526-4970-b79b-6e93fbd99fe4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F070d83f4-283d-472f-9e7e-b307fc6f150f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7464346-bc21-484c-b7cb-58b6610a8771","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.9719021} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.746478,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f","object_type":"device","rebac_allow":false,"scope_allow":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":"e77748d0-32d2-11ef-8c48-074c31242816"},"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/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling 200 12ms","method":"POST","requestID":"e77748d0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/070d83f4-283d-472f-9e7e-b307fc6f150f/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F433d992c-f0af-4d6c-b6cd-2a4de23a42aa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F433d992c-f0af-4d6c-b6cd-2a4de23a42aa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"d5a739cb-a2f3-4f71-8428-ec613d243c23","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.9783654} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a1d041c-17b5-4522-843a-6be46e38ad58","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.9786284} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b1f2f3b0dc97fac70ebfadb6d766e7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F155120c5-feca-4140-ad01-2d2fcafb87d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec7bcdc2-b7a3-4391-9280-bcb1058105c7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306687.986311} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.248505,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7","object_type":"device","rebac_allow":false,"scope_allow":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":"e77992c0-32d2-11ef-8c48-074c31242816"},"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/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling 200 11ms","method":"POST","requestID":"e77992c0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/155120c5-feca-4140-ad01-2d2fcafb87d7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b1f2f3b0dc97fac70ebfadb6d766e7a"} experiment-1 | {"level":"info","message":"DELETE /experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa 204 174ms","method":"DELETE","requestID":"8b1f2f3b0dc97fac70ebfadb6d766e7a","responseTime":174,"status":204,"url":"/experiments/433d992c-f0af-4d6c-b6cd-2a4de23a42aa"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"4.257","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"79b829638358dd59de8975d1cde84546"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"b198b8087351ef9e17ab32d77d2ceb30","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"b198b8087351ef9e17ab32d77d2ceb30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"4071f8b958d31342aecc73d1dfa38b62","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"4071f8b958d31342aecc73d1dfa38b62"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2742","request_time":"2.753","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ad526472248e77956b99dc877b2b2b2c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"69db5cf6fafcd2590bcc63dbb5f41f72","responseTime":13,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:28Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/070d83f4-283d-472f-9e7e-b307fc6f150f' closed"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.876953,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306688,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY"} 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":"69db5cf6fafcd2590bcc63dbb5f41f72"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/155120c5-feca-4140-ad01-2d2fcafb87d7' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a53ed66f-6987-4ff3-9bb1-b1b67416f553","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.0791938} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69db5cf6fafcd2590bcc63dbb5f41f72"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9251138e-534a-48b2-a752-ad1691a3c005","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.0854125} 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":"69db5cf6fafcd2590bcc63dbb5f41f72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1d7b76e8-8870-439e-9f4b-3fab2101dabd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.0966895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3145e8e7-17c4-41b4-8822-ba7d8451c020","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.097007} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69db5cf6fafcd2590bcc63dbb5f41f72"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"4fe9a0f5-19d9-47f2-9f43-c883dd3e8a0a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.1018727} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69db5cf6fafcd2590bcc63dbb5f41f72"},"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":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69db5cf6fafcd2590bcc63dbb5f41f72"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"69db5cf6fafcd2590bcc63dbb5f41f72","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"429bb5bbb3e2ed0b59a27cbdf39606f5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.813286,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306688,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"429bb5bbb3e2ed0b59a27cbdf39606f5"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cea8615a-f5c8-43c1-bbf8-3b4e41ac516f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.1272137} 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":"429bb5bbb3e2ed0b59a27cbdf39606f5"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d75735c1-ed4d-4412-b33d-d73dc88720de","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.1316493} 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":"429bb5bbb3e2ed0b59a27cbdf39606f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5fb7cb2f-0ac6-4043-89b9-8bb7f4d271aa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.1472151} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73ba305f-e7ed-4466-9692-20cfa5b19012","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.1475308} 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":"429bb5bbb3e2ed0b59a27cbdf39606f5"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.147195518Z"}]},"request_id":"fa0d9dbc-e491-4ffb-85fc-fef18a7fa5d5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.1509397} 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":"429bb5bbb3e2ed0b59a27cbdf39606f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"429bb5bbb3e2ed0b59a27cbdf39606f5","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"429bb5bbb3e2ed0b59a27cbdf39606f5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"749bde6f3016b34aeaedc649c5a4cdfe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.341806,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306688,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY"} 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":"749bde6f3016b34aeaedc649c5a4cdfe"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"612c982b-0791-4e44-bcdf-f305d8fab27f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.6482408} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"749bde6f3016b34aeaedc649c5a4cdfe"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d305f91-9666-4055-b3d8-ac947345e855","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.6547105} 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":"749bde6f3016b34aeaedc649c5a4cdfe"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"afada0ec-4ade-4520-8516-db0ff787f990","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306688.6669085} 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":"749bde6f3016b34aeaedc649c5a4cdfe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/e105f16f-6d78-4144-b449-e0811e71cf46 200 36ms","method":"PATCH","requestID":"749bde6f3016b34aeaedc649c5a4cdfe","responseTime":36,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e105f16f-6d78-4144-b449-e0811e71cf46 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"749bde6f3016b34aeaedc649c5a4cdfe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5d7c52dd6f9eb4c6395f22530765ff8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.202872,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306688,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY4OH0.n9lA7W7ry-RdegfTr7W7CpwCnX-u8-wIwVvfisrI-jY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5d7c52dd6f9eb4c6395f22530765ff8"},"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/e105f16f-6d78-4144-b449-e0811e71cf46/websocket 200 21ms","method":"POST","requestID":"e5d7c52dd6f9eb4c6395f22530765ff8","responseTime":21,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e105f16f-6d78-4144-b449-e0811e71cf46/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e5d7c52dd6f9eb4c6395f22530765ff8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46' 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":"4d1f010793400e1f1e14f9c33ed8149d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/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":"4d1f010793400e1f1e14f9c33ed8149d"} device-1 | {"level":"info","message":"OPTIONS /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/websocket 200 1ms","method":"OPTIONS","requestID":"4d1f010793400e1f1e14f9c33ed8149d","responseTime":1,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"aed464b126c3a76583102f33ef031004","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.336571,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aed464b126c3a76583102f33ef031004"},"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":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aed464b126c3a76583102f33ef031004"} device-1 | {"level":"info","message":"POST /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/websocket 200 22ms","method":"POST","requestID":"aed464b126c3a76583102f33ef031004","responseTime":22,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"461ee455ceb908561367ee44bd09d5c5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.273553,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"461ee455ceb908561367ee44bd09d5c5"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"9eebe099-8b75-4402-a7a3-b600ba62554b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.233805} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"461ee455ceb908561367ee44bd09d5c5"},"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":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e105f16f-6d78-4144-b449-e0811e71cf46? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"461ee455ceb908561367ee44bd09d5c5"} device-1 | {"level":"info","message":"GET /devices/e105f16f-6d78-4144-b449-e0811e71cf46? 200 16ms","method":"GET","requestID":"461ee455ceb908561367ee44bd09d5c5","responseTime":16,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"91e8d71cbab7f17e69aaa73ce1401d42","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249252,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91e8d71cbab7f17e69aaa73ce1401d42"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.147195518Z"}]},"request_id":"129c64e9-1911-434e-8a93-ce59e2ed508f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.2581372} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91e8d71cbab7f17e69aaa73ce1401d42"},"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":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91e8d71cbab7f17e69aaa73ce1401d42"} device-1 | {"level":"info","message":"GET /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8? 200 17ms","method":"GET","requestID":"91e8d71cbab7f17e69aaa73ce1401d42","responseTime":17,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"258ab40318716db45fce67d53bc910f9","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:52986","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.277064,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} 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":"258ab40318716db45fce67d53bc910f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"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:52986","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.286477,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8de04c0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203095,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} 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":"e8de52e0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"2b4c5120-7148-4778-965b-f56be0c4789f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.3280492} 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":"e8de04c0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.147195518Z"}]},"request_id":"f4176e05-39fa-400a-95ca-1020110938ea","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.3331878} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8de52e0-32d2-11ef-8c48-074c31242816"},"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/e105f16f-6d78-4144-b449-e0811e71cf46? 200 19ms","method":"GET","requestID":"e8de04c0-32d2-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8? 200 22ms","method":"GET","requestID":"e8de52e0-32d2-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"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/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.706214,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8e9c490-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027572,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8ea12b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29940629-89f0-4bf5-8298-446afa0f4b21","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4078536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.147195518Z"}]},"request_id":"473f012f-e6fd-4bdf-bef8-2fee99893286","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4080064} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8ea12b0-32d2-11ef-8c48-074c31242816"},"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:52986","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.074248,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","rebac_allow":false,"scope_allow":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":"e8ea87e0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"d1c2c14f-977f-4faf-99b4-7d6e37185938","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4093506} 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":"e8e9c490-32d2-11ef-8c48-074c31242816"},"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/dc07a888-6e86-46f4-83b8-5d04337eafb8? 200 25ms","method":"GET","requestID":"e8ea12b0-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21bc84cf-1f13-4066-a90d-b65a4ef2fb4e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"27898d6c-37d0-4b5b-b529-55caecceee1f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4202604} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling 200 23ms","method":"POST","requestID":"e8ea87e0-32d2-11ef-8c48-074c31242816","responseTime":23,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77d8a67a-df91-4251-ad0c-cef0e2c3f53a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4206824} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"258ab40318716db45fce67d53bc910f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"GET /devices/e105f16f-6d78-4144-b449-e0811e71cf46? 200 31ms","method":"GET","requestID":"e8e9c490-32d2-11ef-8c48-074c31242816","responseTime":31,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2f825b0-af8e-4c85-950f-f7191d86bc00","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4322479} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.900323,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","rebac_allow":false,"scope_allow":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":"e8eea690-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0506627a-0e15-405e-a727-94c772e5a6d4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4361663} gateway-1 | {"time_local":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"258ab40318716db45fce67d53bc910f9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 162ms","method":"POST","requestID":"258ab40318716db45fce67d53bc910f9","responseTime":162,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.819206,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","rebac_allow":false,"scope_allow":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":"e8ef42d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56ddb4dbe9b54d104f7afcbbb7310d74","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling 200 19ms","method":"POST","requestID":"e8eea690-32d2-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling 200 16ms","method":"POST","requestID":"e8ef42d0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811299,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} 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":"56ddb4dbe9b54d104f7afcbbb7310d74"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c447067-a311-4f40-aa4a-d058a16dfba4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4542882} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.096664657Z"}]},"request_id":"205a931e-2d91-468f-94b4-83489e207b2f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4544458} 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":"56ddb4dbe9b54d104f7afcbbb7310d74"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437247,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","rebac_allow":false,"scope_allow":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":"e8f22900-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e105f16f-6d78-4144-b449-e0811e71cf46? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56ddb4dbe9b54d104f7afcbbb7310d74"} device-1 | {"level":"info","message":"GET /devices/e105f16f-6d78-4144-b449-e0811e71cf46? 200 15ms","method":"GET","requestID":"56ddb4dbe9b54d104f7afcbbb7310d74","responseTime":15,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling 200 14ms","method":"POST","requestID":"e8f22900-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"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":"3be532c7-ffd7-4b61-92bc-46fd5bb4d996"},{"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":"d27075ce-ef64-4195-a9d2-e29ebdb43b31"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"05cd3e68-408c-4204-9518-f7e1bcac0a25"}]},"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/e105f16f-6d78-4144-b449-e0811e71cf46"},{"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/dc07a888-6e86-46f4-83b8-5d04337eafb8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa15795da6f384119536fdfe4b83ebcd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.671397,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} 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":"e8f4e820-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611644,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306690,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5MH0.zeU06CeBDQhHMiHAq2liO5Hxef2IC9d8jPNciqqOL9o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa15795da6f384119536fdfe4b83ebcd"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:28.147195518Z"}]},"request_id":"0ae0dd37-a019-4b5b-9671-f4d4671d1139","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4772816} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa15795da6f384119536fdfe4b83ebcd"},"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/dc07a888-6e86-46f4-83b8-5d04337eafb8? 200 13ms","method":"GET","requestID":"fa15795da6f384119536fdfe4b83ebcd","responseTime":13,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc07a888-6e86-46f4-83b8-5d04337eafb8? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa15795da6f384119536fdfe4b83ebcd"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"93d7a912-4240-4ea0-b76c-82558b83e6aa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.485414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca0627df-4c46-437f-b616-57af5ea28717","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.4855657} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8f4e820-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"e8f4e820-32d2-11ef-8c48-074c31242816","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d16a9d8d-160c-431a-9e49-fec365c8f0d7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.5313337} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.053227,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8fe36f0-32d2-11ef-8c48-074c31242816"},"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/e105f16f-6d78-4144-b449-e0811e71cf46/signaling 200 8ms","method":"POST","requestID":"e8fe36f0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9279713b-7b57-4e6e-916f-cb8d70741be2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306690.5407987} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.413453,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8ffbd90-32d2-11ef-8c48-074c31242816"},"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/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling 200 8ms","method":"POST","requestID":"e8ffbd90-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","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/348ba35a-c75f-48af-86ea-bb3cf2fecad9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","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":"d19142f53f7515ebd6993978b9520aa0","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/e105f16f-6d78-4144-b449-e0811e71cf46"},{"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/dc07a888-6e86-46f4-83b8-5d04337eafb8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d19142f53f7515ebd6993978b9520aa0","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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":"d19142f53f7515ebd6993978b9520aa0"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8'"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","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/348ba35a-c75f-48af-86ea-bb3cf2fecad9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","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":"db4738e8089b7033f44773765205ae57","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/e105f16f-6d78-4144-b449-e0811e71cf46"},{"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/dc07a888-6e86-46f4-83b8-5d04337eafb8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F348ba35a-c75f-48af-86ea-bb3cf2fecad9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f1536d00-bcba-4abd-8a43-8b1d1c11e553","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.6516247} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.98273,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9","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":"ea416550-32d2-11ef-8c48-074c31242816"},"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/348ba35a-c75f-48af-86ea-bb3cf2fecad9 200 10ms","method":"GET","requestID":"ea416550-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"db4738e8089b7033f44773765205ae57","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"db4738e8089b7033f44773765205ae57"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea886f64-d1e5-4460-8316-c235ba949861","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.6846352} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.375788,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","rebac_allow":false,"scope_allow":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":"ea469570-32d2-11ef-8c48-074c31242816"},"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/e105f16f-6d78-4144-b449-e0811e71cf46/signaling 200 10ms","method":"POST","requestID":"ea469570-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60aaa7cb-8bdd-4f25-8194-33b531397f4e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.6961844} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.414185,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","rebac_allow":false,"scope_allow":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":"ea486a30-32d2-11ef-8c48-074c31242816"},"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/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling 200 11ms","method":"POST","requestID":"ea486a30-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"59e157e411560639b34d6c1f0252b0cd","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.293419,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306692,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA"} 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":"59e157e411560639b34d6c1f0252b0cd"},"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/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"} gateway-1 | {"time_local":"25/Jun/2024:09:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59e157e411560639b34d6c1f0252b0cd"} experiment-1 | {"level":"info","message":"GET /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e 200 17ms","method":"GET","requestID":"59e157e411560639b34d6c1f0252b0cd","responseTime":17,"status":200,"url":"/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"efd7f9173913fd424ed3256636c56adc","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.296697,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306692,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA"} 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":"efd7f9173913fd424ed3256636c56adc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.401444,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306692,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA"} 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":"ea55b0a0-32d2-11ef-8c48-074c31242816"},"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/348ba35a-c75f-48af-86ea-bb3cf2fecad9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F348ba35a-c75f-48af-86ea-bb3cf2fecad9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F348ba35a-c75f-48af-86ea-bb3cf2fecad9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"eea84f31-842e-498d-beed-b1f6b825c66d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.803166} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"557884d56457aa116cc0d3f753031dd2","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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22303a85-e860-410e-bffc-203a8f156b63","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.8045735} 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/e105f16f-6d78-4144-b449-e0811e71cf46"},{"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/dc07a888-6e86-46f4-83b8-5d04337eafb8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea55b0a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4f48fac775c7da126eacc7e753bacd0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46"},{"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/dc07a888-6e86-46f4-83b8-5d04337eafb8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"348ba35a-c75f-48af-86ea-bb3cf2fecad9","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/348ba35a-c75f-48af-86ea-bb3cf2fecad9 204 48ms","method":"DELETE","requestID":"ea55b0a0-32d2-11ef-8c48-074c31242816","responseTime":48,"status":204,"url":"/peerconnections/348ba35a-c75f-48af-86ea-bb3cf2fecad9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe105f16f-6d78-4144-b449-e0811e71cf46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91eec2b8-f52b-491d-8664-891610ae892d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.8558295} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.554581,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46","object_type":"device","rebac_allow":false,"scope_allow":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":"ea608610-32d2-11ef-8c48-074c31242816"},"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/e105f16f-6d78-4144-b449-e0811e71cf46/signaling 200 13ms","method":"POST","requestID":"ea608610-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/e105f16f-6d78-4144-b449-e0811e71cf46/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21bc84cf-1f13-4066-a90d-b65a4ef2fb4e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F21bc84cf-1f13-4066-a90d-b65a4ef2fb4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"9438f12a-db8b-4fad-8aff-ae619d0d29ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.864162} 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf741bc7-bbff-4892-9028-b82102efe7d8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.864749} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd7f9173913fd424ed3256636c56adc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc07a888-6e86-46f4-83b8-5d04337eafb8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ca1d808-9b13-4861-a5a5-5648940b4cff","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.8719778} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.362438,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8","object_type":"device","rebac_allow":false,"scope_allow":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":"ea62f710-32d2-11ef-8c48-074c31242816"},"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/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling 200 13ms","method":"POST","requestID":"ea62f710-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/dc07a888-6e86-46f4-83b8-5d04337eafb8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"} gateway-1 | {"time_local":"25/Jun/2024:09:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"efd7f9173913fd424ed3256636c56adc"} gateway-1 | {"time_local":"25/Jun/2024:09:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3231","request_time":"4.237","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"08e4b9d3fd247b7392331c7e44a6b2dd"} experiment-1 | {"level":"info","message":"DELETE /experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e 204 175ms","method":"DELETE","requestID":"efd7f9173913fd424ed3256636c56adc","responseTime":175,"status":204,"url":"/experiments/21bc84cf-1f13-4066-a90d-b65a4ef2fb4e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"557884d56457aa116cc0d3f753031dd2","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"557884d56457aa116cc0d3f753031dd2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"440bdb9d97e5e6f840fd54176dbb734d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"c4f48fac775c7da126eacc7e753bacd0","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4f48fac775c7da126eacc7e753bacd0"} gateway-1 | {"time_local":"25/Jun/2024:09:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2740","request_time":"2.746","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"66c3392b6716ba9338cb1af1afdb4730"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.912468,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e105f16f-6d78-4144-b449-e0811e71cf46' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306692,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA"} 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":"440bdb9d97e5e6f840fd54176dbb734d"},"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/dc07a888-6e86-46f4-83b8-5d04337eafb8' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"019cdceb-1da4-4a42-9381-48ba0487a251","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.964386} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"440bdb9d97e5e6f840fd54176dbb734d"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79783ade-edf9-4389-b928-82f6386c31fa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.9700153} 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":"440bdb9d97e5e6f840fd54176dbb734d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"f27d6221-dc28-4ff8-821f-79a430fbba81","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.9812884} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fa9ae7f-d0fc-4822-b710-5b3c4f1c022e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.9816172} 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":"440bdb9d97e5e6f840fd54176dbb734d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"5b9ae3a7-dc6b-4124-a9c4-3e546f75abd5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306692.9862466} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"440bdb9d97e5e6f840fd54176dbb734d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"440bdb9d97e5e6f840fd54176dbb734d","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"440bdb9d97e5e6f840fd54176dbb734d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87b353d066c9b8b4a594194448d0fed3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.746843,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306692,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5Mn0.CHN3rShvc1tvqqMubICoLmEQzk7Q8jgG6kcpBMCYDtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b353d066c9b8b4a594194448d0fed3"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0bb9c145-18a4-4093-bfcf-45efe5c850e5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.0102894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b353d066c9b8b4a594194448d0fed3"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3fa4a3b-8934-45ef-a0ed-af3b907bb310","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.0155754} 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":"87b353d066c9b8b4a594194448d0fed3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"cdd1ef54-f125-4e73-bad4-643adea450da","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.032058} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"848fa63d-e433-4bce-9e4d-9b76c5cc9967","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.0323284} 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":"87b353d066c9b8b4a594194448d0fed3"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:33.032023514Z"}]},"request_id":"67b814d6-d541-49a8-b37e-db5d756b32ff","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.0368123} 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":"87b353d066c9b8b4a594194448d0fed3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"87b353d066c9b8b4a594194448d0fed3","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87b353d066c9b8b4a594194448d0fed3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5M30.kRP_xR2scCs6A0vsbHfxKae1zjdyytXMBMkMTeL4ZK4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ddc444cf4979ec581f816d89558d735a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709887,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306693,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5M30.kRP_xR2scCs6A0vsbHfxKae1zjdyytXMBMkMTeL4ZK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddc444cf4979ec581f816d89558d735a"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"855e5d84-697c-4e68-a9a5-64ec5b6d16e1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.5289836} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddc444cf4979ec581f816d89558d735a"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50fbfea7-f0e7-418f-950c-ba372b77b03f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.536117} 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":"ddc444cf4979ec581f816d89558d735a"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"4c78af72-8427-437d-9c09-c6004168055d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306693.5489829} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ddc444cf4979ec581f816d89558d735a"},"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a 200 37ms","method":"PATCH","requestID":"ddc444cf4979ec581f816d89558d735a","responseTime":37,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a"} gateway-1 | {"time_local":"25/Jun/2024:09:11:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ddc444cf4979ec581f816d89558d735a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5M30.kRP_xR2scCs6A0vsbHfxKae1zjdyytXMBMkMTeL4ZK4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cbf139950d5887777c234daa03eeedca","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.384402,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306693,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5M30.kRP_xR2scCs6A0vsbHfxKae1zjdyytXMBMkMTeL4ZK4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbf139950d5887777c234daa03eeedca"},"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":"25/Jun/2024:09:11:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cbf139950d5887777c234daa03eeedca"} device-1 | {"level":"info","message":"POST /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/websocket 200 20ms","method":"POST","requestID":"cbf139950d5887777c234daa03eeedca","responseTime":20,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a' 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":"fad329082b26079c030fc1143fe51430","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/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":"fad329082b26079c030fc1143fe51430"} device-1 | {"level":"info","message":"OPTIONS /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/websocket 200 1ms","method":"OPTIONS","requestID":"fad329082b26079c030fc1143fe51430","responseTime":1,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"557eda211dc3dbaa43807dd83efe3699","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.192107,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"557eda211dc3dbaa43807dd83efe3699"},"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":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"557eda211dc3dbaa43807dd83efe3699"} device-1 | {"level":"info","message":"POST /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/websocket 200 21ms","method":"POST","requestID":"557eda211dc3dbaa43807dd83efe3699","responseTime":21,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5b17d61f461b53806733ca87d446c8a0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397173,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b17d61f461b53806733ca87d446c8a0"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"1b2f39f4-18f1-45f3-8879-c36520279321","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.1132984} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b17d61f461b53806733ca87d446c8a0"},"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":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a? 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":"5b17d61f461b53806733ca87d446c8a0"} device-1 | {"level":"info","message":"GET /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a? 200 20ms","method":"GET","requestID":"5b17d61f461b53806733ca87d446c8a0","responseTime":20,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e86d3759573872ea3110e151c98b5479","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083943,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} 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":"e86d3759573872ea3110e151c98b5479"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:33.032023514Z"}]},"request_id":"35cafaff-63a3-4cdf-9ee5-cb5fad57add4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.1457064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e86d3759573872ea3110e151c98b5479"},"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":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3? 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":"e86d3759573872ea3110e151c98b5479"} device-1 | {"level":"info","message":"GET /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3? 200 20ms","method":"GET","requestID":"e86d3759573872ea3110e151c98b5479","responseTime":20,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32d8f651f88f719ef4af6d73e3aae7a3","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:52986","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.822021,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} 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":"32d8f651f88f719ef4af6d73e3aae7a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"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:52986","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215555,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebc71af0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.101412,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebc76910-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"e3866a74-3590-459d-8166-72fb833ba8a6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.2105157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebc71af0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:33.032023514Z"}]},"request_id":"dfd622f4-3070-4e9c-a5a6-bd121a914d6e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.2118635} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebc76910-32d2-11ef-8c48-074c31242816"},"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a? 200 20ms","method":"GET","requestID":"ebc71af0-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3? 200 19ms","method":"GET","requestID":"ebc76910-32d2-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"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/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.189417,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} 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":"ebd328e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.515016,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} 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":"ebd37700-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"926ec633-44b3-40b2-b4ef-7df0826bfdeb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.298411} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:33.032023514Z"}]},"request_id":"a190e4d5-39d2-436f-9f93-e423f128603b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.299913} 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":"ebd328e0-32d2-11ef-8c48-074c31242816"},"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:46518","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} 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":"ebd37700-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06fe0861-bd33-4e68-8ceb-daf5b75b173f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3031387} authorization-1 | {"client_addr":"127.0.0.1:46518","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.372799,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","rebac_allow":false,"scope_allow":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":"ebd3ec30-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b074f81-42e4-420a-9643-f2b46d8b9774#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b074f81-42e4-420a-9643-f2b46d8b9774","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"f0355ba3-92ae-4f4f-8f11-35ba98407a9a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3087375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85cf90a9-b465-4a39-a95e-91d1fe119805","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.30912} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a? 200 32ms","method":"GET","requestID":"ebd328e0-32d2-11ef-8c48-074c31242816","responseTime":32,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32d8f651f88f719ef4af6d73e3aae7a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3? 200 33ms","method":"GET","requestID":"ebd37700-32d2-11ef-8c48-074c31242816","responseTime":33,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling 200 31ms","method":"POST","requestID":"ebd3ec30-32d2-11ef-8c48-074c31242816","responseTime":31,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5aa9721b-2a2d-4504-9882-685c1f181ff9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3224092} gateway-1 | {"time_local":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32d8f651f88f719ef4af6d73e3aae7a3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"32d8f651f88f719ef4af6d73e3aae7a3","responseTime":163,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.880749,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","rebac_allow":false,"scope_allow":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":"ebd91c50-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40bb82d1-2109-4870-bfd8-1c14871fc894","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3242154} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.913812,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","rebac_allow":false,"scope_allow":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":"ebd96a70-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"399a654f6b207e4c61ff6b50386cc8b9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling 200 10ms","method":"POST","requestID":"ebd91c50-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling 200 12ms","method":"POST","requestID":"ebd96a70-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764077,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} 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":"399a654f6b207e4c61ff6b50386cc8b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61440406-ce4e-4788-9089-f2e8cd30f90f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3340452} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.469921,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebdb1820-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:32.981255692Z"}]},"request_id":"e5fe4c4e-591d-47be-839e-bdaf166e874c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3378315} device-1 | {"level":"info","message":"POST /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling 200 8ms","method":"POST","requestID":"ebdb1820-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"399a654f6b207e4c61ff6b50386cc8b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"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":"34d281c7-dea0-4ffb-b841-7e336e999b73"},{"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":"f9732e4c-ded2-4470-8ffc-91408db8394d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e018ed0b-de5c-4699-9b90-46222686467d"}]},"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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3"},{"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"399a654f6b207e4c61ff6b50386cc8b9"} device-1 | {"level":"info","message":"GET /devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a? 200 14ms","method":"GET","requestID":"399a654f6b207e4c61ff6b50386cc8b9","responseTime":14,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.700573,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebdcc5d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0aa4e71947c7bcd1a363205d10f98fd8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886651,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306695,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5NX0._8R13zPr3t1IHiUFgASuGl7H1ddjWVeaB_cwn48nVHE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0aa4e71947c7bcd1a363205d10f98fd8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"fc920524-caca-4292-a303-b4d7e1a47504","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3568199} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66e29dff-2bde-4979-8296-4e747bc393ca","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3570004} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebdcc5d0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:33.032023514Z"}]},"request_id":"5cbabf97-028d-4c48-9abc-8a29d5e18c84","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.3578875} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0aa4e71947c7bcd1a363205d10f98fd8"},"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":"25/Jun/2024:09:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0aa4e71947c7bcd1a363205d10f98fd8"} device-1 | {"level":"info","message":"GET /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3? 200 14ms","method":"GET","requestID":"0aa4e71947c7bcd1a363205d10f98fd8","responseTime":14,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3?"} 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/0c956c3c-f623-4595-8c17-e45dd13a2f58'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"ebdcc5d0-32d2-11ef-8c48-074c31242816","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2007a65f-55b2-468b-9823-2c918d0e7723","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.411731} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.729263,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","rebac_allow":false,"scope_allow":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":"ebe6b0e0-32d2-11ef-8c48-074c31242816"},"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling 200 11ms","method":"POST","requestID":"ebe6b0e0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"239b9597-a039-490a-bbd0-23ad504a227c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306695.4231076} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.164189,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe8acb0-32d2-11ef-8c48-074c31242816"},"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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling 200 8ms","method":"POST","requestID":"ebe8acb0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","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/0c956c3c-f623-4595-8c17-e45dd13a2f58' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b351a3f8f1af8d0aad81f154b69a365d","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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3"},{"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"b351a3f8f1af8d0aad81f154b69a365d","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b351a3f8f1af8d0aad81f154b69a365d"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","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/0c956c3c-f623-4595-8c17-e45dd13a2f58' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","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":"786171da80127a0416287dcbaddf3029","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3"},{"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c956c3c-f623-4595-8c17-e45dd13a2f58","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d82ae3a-956e-4a12-9177-94ddd5d6d474","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.5753913} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.910777,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58","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":"ed30bd10-32d2-11ef-8c48-074c31242816"},"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/0c956c3c-f623-4595-8c17-e45dd13a2f58 200 10ms","method":"GET","requestID":"ed30bd10-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"786171da80127a0416287dcbaddf3029","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"786171da80127a0416287dcbaddf3029"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c57edda6-81b0-4c29-af06-49a239801644","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.612592} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.132733,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","rebac_allow":false,"scope_allow":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":"ed35ed30-32d2-11ef-8c48-074c31242816"},"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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling 200 15ms","method":"POST","requestID":"ed35ed30-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c4f85bb-f879-489f-b765-746364f3297b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.627354} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.066292,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","rebac_allow":false,"scope_allow":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":"ed38d360-32d2-11ef-8c48-074c31242816"},"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling 200 11ms","method":"POST","requestID":"ed38d360-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"23df2c6e28dfbaf7a3556717cb7d55ce","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.227182,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306697,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE"} 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":"23df2c6e28dfbaf7a3556717cb7d55ce"},"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/9b074f81-42e4-420a-9643-f2b46d8b9774"} gateway-1 | {"time_local":"25/Jun/2024:09:11:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23df2c6e28dfbaf7a3556717cb7d55ce"} experiment-1 | {"level":"info","message":"GET /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774 200 16ms","method":"GET","requestID":"23df2c6e28dfbaf7a3556717cb7d55ce","responseTime":16,"status":200,"url":"/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db610fe8e45e5959d3854debde429981","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.313174,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306697,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE"} 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":"db610fe8e45e5959d3854debde429981"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.346281,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306697,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE"} 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":"ed455680-32d2-11ef-8c48-074c31242816"},"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/0c956c3c-f623-4595-8c17-e45dd13a2f58' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c956c3c-f623-4595-8c17-e45dd13a2f58': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0c956c3c-f623-4595-8c17-e45dd13a2f58","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"e0bf7e7d-b6cf-4fd5-be71-6fc5032f3a18","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.7293155} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"532e2824-bbc4-4655-bb51-7c14f2bf8623","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.7298756} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"be4bcb509f0c578db6e914dacedf985d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed455680-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3"},{"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1393ad969d6b449439cf5ae3f6aedefc","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/d22126c6-44e8-4cda-a37d-d6b30d63b0c3"},{"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"0c956c3c-f623-4595-8c17-e45dd13a2f58","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/0c956c3c-f623-4595-8c17-e45dd13a2f58 204 49ms","method":"DELETE","requestID":"ed455680-32d2-11ef-8c48-074c31242816","responseTime":49,"status":204,"url":"/peerconnections/0c956c3c-f623-4595-8c17-e45dd13a2f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd22126c6-44e8-4cda-a37d-d6b30d63b0c3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0fca66e-c24f-45d5-9468-ed2f3125e034","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.786486} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.575542,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3","object_type":"device","rebac_allow":false,"scope_allow":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":"ed50ef40-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b074f81-42e4-420a-9643-f2b46d8b9774': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9b074f81-42e4-420a-9643-f2b46d8b9774","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"3e253790-09bf-4327-9b8e-4607b533ebab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.7894552} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2faaec2e-2b80-4c32-b647-dbb6293729f6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.7900114} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db610fe8e45e5959d3854debde429981"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling 200 14ms","method":"POST","requestID":"ed50ef40-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F72db81ff-bd64-4f3a-8c61-6b241f5f891a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6c38376-abdd-4abc-a26e-1b2e3339c974","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.807941} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.625193,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a","object_type":"device","rebac_allow":false,"scope_allow":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":"ed542390-32d2-11ef-8c48-074c31242816"},"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/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling 200 13ms","method":"POST","requestID":"ed542390-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"} gateway-1 | {"time_local":"25/Jun/2024:09:11:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db610fe8e45e5959d3854debde429981"} gateway-1 | {"time_local":"25/Jun/2024:09:11:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2839","request_time":"4.282","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1f14a24489bffa4f6b4f31a4ca1d81a6"} experiment-1 | {"level":"info","message":"DELETE /experiments/9b074f81-42e4-420a-9643-f2b46d8b9774 204 176ms","method":"DELETE","requestID":"db610fe8e45e5959d3854debde429981","responseTime":176,"status":204,"url":"/experiments/9b074f81-42e4-420a-9643-f2b46d8b9774"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"be4bcb509f0c578db6e914dacedf985d","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"be4bcb509f0c578db6e914dacedf985d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"1393ad969d6b449439cf5ae3f6aedefc","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"1393ad969d6b449439cf5ae3f6aedefc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3ad14bac9c7b7d3fbd2b05d9d5cb104c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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":"2.793","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1173cee2c658c99452c9823ac9c6ea2b"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.066031,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306697,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE"} 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":"3ad14bac9c7b7d3fbd2b05d9d5cb104c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/72db81ff-bd64-4f3a-8c61-6b241f5f891a' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65b0d74a-0944-43a2-b9ef-d6f61fbac301","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.8948624} 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":"3ad14bac9c7b7d3fbd2b05d9d5cb104c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d22126c6-44e8-4cda-a37d-d6b30d63b0c3' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11d74d9d-0db2-439f-8ab3-55292ae14d87","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9004698} 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":"3ad14bac9c7b7d3fbd2b05d9d5cb104c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e3db65e4-c535-4827-ac28-f55fa11e5ee8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9104042} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3405c62f-d5cf-41b8-a66a-2fd120886890","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9107993} 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":"3ad14bac9c7b7d3fbd2b05d9d5cb104c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"6c3a231d-0473-4a70-b895-b85de744fee0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9155347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ad14bac9c7b7d3fbd2b05d9d5cb104c"},"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":"25/Jun/2024:09:11:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ad14bac9c7b7d3fbd2b05d9d5cb104c"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"3ad14bac9c7b7d3fbd2b05d9d5cb104c","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dcca61d820c1f888823cdd307f999354","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.852294,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306697,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5N30.93Dog1rBRYH8SrPUGPeOLNAMJaWXO54fSafdNEzATZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcca61d820c1f888823cdd307f999354"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ae807813-a78d-4b88-acc4-20bea9543f44","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.946741} 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":"dcca61d820c1f888823cdd307f999354"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e067420-5f6d-4a12-8917-685e76c8d6dc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9515166} 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":"dcca61d820c1f888823cdd307f999354"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"f2b78f1a-775b-4c22-9865-305794bf1fe3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.961205} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0d31718-87a2-47ef-88e9-edec6c7efc3a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9613624} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcca61d820c1f888823cdd307f999354"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"e8416a13-f818-4eb4-beac-0c5eb524fd4a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306697.9653592} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcca61d820c1f888823cdd307f999354"},"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":"25/Jun/2024:09:11:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dcca61d820c1f888823cdd307f999354"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"dcca61d820c1f888823cdd307f999354","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dbe5de8cb9c52fe4c9b64650d47c036e","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d7b9145449530021e6edcd34adcda88","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802421,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} 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":"dbe5de8cb9c52fe4c9b64650d47c036e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615897,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d7b9145449530021e6edcd34adcda88"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"c6553f66-764a-4a6e-8610-47d4a5bf3c26","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.4550858} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbe5de8cb9c52fe4c9b64650d47c036e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"e698641a-f85b-4c05-bec6-912d5045c1b2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.45584} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d7b9145449530021e6edcd34adcda88"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb484017-cac9-427f-9d6c-24d6c2f295fd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.460724} 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":"dbe5de8cb9c52fe4c9b64650d47c036e"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2848bbef-db9d-4cec-a84c-104c0a3e5350","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.4621642} 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":"4d7b9145449530021e6edcd34adcda88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"e1771fa5-6674-4a37-b220-c66de4f24d12","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.466111} 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":"4d7b9145449530021e6edcd34adcda88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/193589e5-dc43-4078-83cd-094ca46cefa8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4d7b9145449530021e6edcd34adcda88"} device-1 | {"level":"info","message":"PATCH /devices/193589e5-dc43-4078-83cd-094ca46cefa8 200 23ms","method":"PATCH","requestID":"4d7b9145449530021e6edcd34adcda88","responseTime":23,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c23472cbb28003443ff4c3c3de9a44c5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984221,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c23472cbb28003443ff4c3c3de9a44c5"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"b84d264e-4dca-4e33-8383-2651251eb9c4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.4786842} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dbe5de8cb9c52fe4c9b64650d47c036e"},"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":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f15b9b16-33ae-4d10-95f7-cc694403b253 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"dbe5de8cb9c52fe4c9b64650d47c036e"} device-1 | {"level":"info","message":"PATCH /devices/f15b9b16-33ae-4d10-95f7-cc694403b253 200 39ms","method":"PATCH","requestID":"dbe5de8cb9c52fe4c9b64650d47c036e","responseTime":39,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"755f1afdb1dd1e17661574661534952b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767725,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"755f1afdb1dd1e17661574661534952b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/193589e5-dc43-4078-83cd-094ca46cefa8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c23472cbb28003443ff4c3c3de9a44c5"} device-1 | {"level":"info","message":"POST /devices/193589e5-dc43-4078-83cd-094ca46cefa8/websocket 200 21ms","method":"POST","requestID":"c23472cbb28003443ff4c3c3de9a44c5","responseTime":21,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f15b9b16-33ae-4d10-95f7-cc694403b253/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"755f1afdb1dd1e17661574661534952b"} device-1 | {"level":"info","message":"POST /devices/f15b9b16-33ae-4d10-95f7-cc694403b253/websocket 200 18ms","method":"POST","requestID":"755f1afdb1dd1e17661574661534952b","responseTime":18,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5e9343d206d8d210c7b2059e38d60193","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.431034,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e9343d206d8d210c7b2059e38d60193"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"50e50631-aada-4721-a1d4-550506fe5fd1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.5442204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5e9343d206d8d210c7b2059e38d60193"},"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":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/193589e5-dc43-4078-83cd-094ca46cefa8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e9343d206d8d210c7b2059e38d60193"} device-1 | {"level":"info","message":"GET /devices/193589e5-dc43-4078-83cd-094ca46cefa8? 200 15ms","method":"GET","requestID":"5e9343d206d8d210c7b2059e38d60193","responseTime":15,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1635ab5551813b83c8003a435622a6ab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170726,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1635ab5551813b83c8003a435622a6ab"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"93e05d46-dde8-40bb-b748-9aca713869f0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.5651448} 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":"1635ab5551813b83c8003a435622a6ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f15b9b16-33ae-4d10-95f7-cc694403b253? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1635ab5551813b83c8003a435622a6ab"} device-1 | {"level":"info","message":"GET /devices/f15b9b16-33ae-4d10-95f7-cc694403b253? 200 14ms","method":"GET","requestID":"1635ab5551813b83c8003a435622a6ab","responseTime":14,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9ff28c940766bc80b801181b1b79634c","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:52986","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.40989,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} 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":"9ff28c940766bc80b801181b1b79634c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"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:52986","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197862,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edd0f4b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229896,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edd11bc0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"710ed9d8-75b7-4abe-b108-0b9957a5eeb2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.62763} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edd0f4b0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"0d87fc48-ea33-4556-a983-b8656be1d5d3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.6298099} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edd11bc0-32d2-11ef-8c48-074c31242816"},"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/193589e5-dc43-4078-83cd-094ca46cefa8? 200 15ms","method":"GET","requestID":"edd0f4b0-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f15b9b16-33ae-4d10-95f7-cc694403b253? 200 15ms","method":"GET","requestID":"edd11bc0-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"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:52986","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.245612,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eddbca20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.450703,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} 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":"eddc1840-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53cb44d7-bb9d-4e2e-9a58-40a37424b380","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7007103} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.694896,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","rebac_allow":false,"scope_allow":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":"eddc6660-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"9b8619c6-7ff6-4d80-b92a-f7b681146245","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7042432} 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":"eddbca20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"f0bbdd36-b6db-4b29-82b0-93e8a9ad7663","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7076125} device-1 | {"level":"info","message":"POST /devices/193589e5-dc43-4078-83cd-094ca46cefa8/signaling 200 14ms","method":"POST","requestID":"eddc6660-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8/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":"eddc1840-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} device-1 | {"level":"info","message":"GET /devices/193589e5-dc43-4078-83cd-094ca46cefa8? 200 26ms","method":"GET","requestID":"eddbca20-32d2-11ef-8c48-074c31242816","responseTime":26,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f15b9b16-33ae-4d10-95f7-cc694403b253? 200 25ms","method":"GET","requestID":"eddc1840-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10782798-e269-4820-b07e-195eb32d3583","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7177725} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.855205,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","rebac_allow":false,"scope_allow":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":"eddefe70-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F166e869e-5d6d-46bc-98f7-d1628eea8e11#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F166e869e-5d6d-46bc-98f7-d1628eea8e11","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"a758c39e-b041-4780-b460-58c15469ef8f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7205744} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae93c155-d918-49ad-bb66-cc067d8eb0b7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.720847} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ff28c940766bc80b801181b1b79634c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling 200 14ms","method":"POST","requestID":"eddefe70-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0053a8c-e23d-44cc-a5d6-7ebf0aacb750","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7277496} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.413299,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ede05e00-32d2-11ef-8c48-074c31242816"},"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/193589e5-dc43-4078-83cd-094ca46cefa8/signaling 200 13ms","method":"POST","requestID":"ede05e00-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.168","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9ff28c940766bc80b801181b1b79634c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 161ms","method":"POST","requestID":"9ff28c940766bc80b801181b1b79634c","responseTime":161,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13ddd60f-f187-443d-b966-2eec1eacbf84","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.742196} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.54978,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea5b054b9a63d3709eba449f4a9c90ef","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","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 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":"ede2f610-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767326,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling 200 10ms","method":"POST","requestID":"ede2f610-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5b054b9a63d3709eba449f4a9c90ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"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":"458bf416-1d63-4ddf-8684-7533e4f961f9"},{"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":"f898a000-9944-4120-ae6a-27aed5349f71"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d207f2b0-a776-4a2c-875a-80d1c0f20e9a"}]},"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/193589e5-dc43-4078-83cd-094ca46cefa8"},{"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/f15b9b16-33ae-4d10-95f7-cc694403b253"}],"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.910378537Z"}]},"request_id":"5a39f70b-6d59-4d3d-be01-67707d780fe4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.750842} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea5b054b9a63d3709eba449f4a9c90ef"},"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:52986","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.03863,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ede4cad0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/193589e5-dc43-4078-83cd-094ca46cefa8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea5b054b9a63d3709eba449f4a9c90ef"} device-1 | {"level":"info","message":"GET /devices/193589e5-dc43-4078-83cd-094ca46cefa8? 200 14ms","method":"GET","requestID":"ea5b054b9a63d3709eba449f4a9c90ef","responseTime":14,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"463055c1bedd3b0f9c3c5bc1c4a6454a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1bce4f6a-f99d-4813-ac78-3bcb7ba0e41f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7633455} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ed39728-6a59-43fe-971e-7290bdb76dbc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7636688} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ede4cad0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677638,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306698,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjY5OH0.9FH0xS4v2gd9MsnHBcIl2aFEs-XidOCFR_tLGxNbrSM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"463055c1bedd3b0f9c3c5bc1c4a6454a"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:37.961173768Z"}]},"request_id":"47b6becb-d591-4e86-91a0-6600064d8d06","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.7701735} 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":"463055c1bedd3b0f9c3c5bc1c4a6454a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"ede4cad0-32d2-11ef-8c48-074c31242816","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f15b9b16-33ae-4d10-95f7-cc694403b253? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"463055c1bedd3b0f9c3c5bc1c4a6454a"} device-1 | {"level":"info","message":"GET /devices/f15b9b16-33ae-4d10-95f7-cc694403b253? 200 19ms","method":"GET","requestID":"463055c1bedd3b0f9c3c5bc1c4a6454a","responseTime":19,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c838ffba-058e-48a5-a980-37ae7a95952e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.8184671} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779227,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","rebac_allow":false,"scope_allow":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":"edee8ed0-32d2-11ef-8c48-074c31242816"},"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/193589e5-dc43-4078-83cd-094ca46cefa8/signaling 200 9ms","method":"POST","requestID":"edee8ed0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"397fbd52-6c6e-45e0-9c2c-f72606c43e95","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306698.8288548} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.402885,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","rebac_allow":false,"scope_allow":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":"edf03c80-32d2-11ef-8c48-074c31242816"},"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/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling 200 8ms","method":"POST","requestID":"edf03c80-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","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/0d257c41-5b4c-4659-8c44-5ac853c199a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","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":"a5cdb56e2a655c860f4f726d73da6653","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/193589e5-dc43-4078-83cd-094ca46cefa8"},{"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/f15b9b16-33ae-4d10-95f7-cc694403b253"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"a5cdb56e2a655c860f4f726d73da6653","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"a5cdb56e2a655c860f4f726d73da6653"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","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/0d257c41-5b4c-4659-8c44-5ac853c199a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","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":"9f0e1638183bb21f89a982143d7aed40","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/193589e5-dc43-4078-83cd-094ca46cefa8"},{"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/f15b9b16-33ae-4d10-95f7-cc694403b253"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d257c41-5b4c-4659-8c44-5ac853c199a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc397543-a9a4-469b-8df0-d7dfc1f080db","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306700.9055026} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.85133,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7","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":"ef2cdb30-32d2-11ef-8c48-074c31242816"},"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/0d257c41-5b4c-4659-8c44-5ac853c199a7 200 12ms","method":"GET","requestID":"ef2cdb30-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"9f0e1638183bb21f89a982143d7aed40","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f0e1638183bb21f89a982143d7aed40"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b07ae798-4297-4421-ad59-4283b8acad68","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306700.9419534} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.758019,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","rebac_allow":false,"scope_allow":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":"ef328080-32d2-11ef-8c48-074c31242816"},"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/193589e5-dc43-4078-83cd-094ca46cefa8/signaling 200 11ms","method":"POST","requestID":"ef328080-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ce886a6-4471-4261-835b-63334b5ad46e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306700.9565656} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.998059,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","rebac_allow":false,"scope_allow":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":"ef34a360-32d2-11ef-8c48-074c31242816"},"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/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling 200 12ms","method":"POST","requestID":"ef34a360-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMH0.jd_iZef9v2seQGJfynh6imHJ32InoyImaBJKUd7tiS0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a7bba4a0da8b989c0e5160bf01bf3710","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.448237,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306700,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMH0.jd_iZef9v2seQGJfynh6imHJ32InoyImaBJKUd7tiS0"} 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":"a7bba4a0da8b989c0e5160bf01bf3710"},"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/166e869e-5d6d-46bc-98f7-d1628eea8e11"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7bba4a0da8b989c0e5160bf01bf3710"} experiment-1 | {"level":"info","message":"GET /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11 200 16ms","method":"GET","requestID":"a7bba4a0da8b989c0e5160bf01bf3710","responseTime":16,"status":200,"url":"/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"306c5db65f8bf9d42a6e8f9e7712b15f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.20339,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"306c5db65f8bf9d42a6e8f9e7712b15f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.681993,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"ef408a40-32d2-11ef-8c48-074c31242816"},"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/0d257c41-5b4c-4659-8c44-5ac853c199a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d257c41-5b4c-4659-8c44-5ac853c199a7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0d257c41-5b4c-4659-8c44-5ac853c199a7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"45284349-f401-4393-b15a-0370d7a9b1b5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.0539377} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cca69141-bd5a-4ccd-a7f5-823d08d52ad3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.054298} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c87bfa0ce500156944b9eac7ff4d105a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef408a40-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/193589e5-dc43-4078-83cd-094ca46cefa8"},{"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/f15b9b16-33ae-4d10-95f7-cc694403b253"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7"}}},"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":"f67382f63a7b6e532a9fb4b83b8390e0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8"},{"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/f15b9b16-33ae-4d10-95f7-cc694403b253"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"0d257c41-5b4c-4659-8c44-5ac853c199a7","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/0d257c41-5b4c-4659-8c44-5ac853c199a7 204 50ms","method":"DELETE","requestID":"ef408a40-32d2-11ef-8c48-074c31242816","responseTime":50,"status":204,"url":"/peerconnections/0d257c41-5b4c-4659-8c44-5ac853c199a7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F193589e5-dc43-4078-83cd-094ca46cefa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2a46463-67b2-48a8-8424-7e0ccb04c6fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.110455} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.276327,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8","object_type":"device","rebac_allow":false,"scope_allow":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":"ef4bd4e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F166e869e-5d6d-46bc-98f7-d1628eea8e11': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F166e869e-5d6d-46bc-98f7-d1628eea8e11","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"0be19100-364e-4cc6-872e-b6df0286c59c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.1122346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ad5811c-59fd-41ae-9e8e-7a57dd9c8d30","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.1126883} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"306c5db65f8bf9d42a6e8f9e7712b15f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/193589e5-dc43-4078-83cd-094ca46cefa8/signaling 200 16ms","method":"POST","requestID":"ef4bd4e0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/193589e5-dc43-4078-83cd-094ca46cefa8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff15b9b16-33ae-4d10-95f7-cc694403b253","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e9a900a-5d53-42e1-a687-7db040c14727","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.1288161} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.979848,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253","object_type":"device","rebac_allow":false,"scope_allow":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":"ef4ee220-32d2-11ef-8c48-074c31242816"},"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/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling 200 13ms","method":"POST","requestID":"ef4ee220-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/f15b9b16-33ae-4d10-95f7-cc694403b253/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"306c5db65f8bf9d42a6e8f9e7712b15f"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.692","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"354ede70bbead74fc0f5e3afd34a5551"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.680","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"83b70a52a60bafbc690c5d429fe8f625"} experiment-1 | {"level":"info","message":"DELETE /experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11 204 177ms","method":"DELETE","requestID":"306c5db65f8bf9d42a6e8f9e7712b15f","responseTime":177,"status":204,"url":"/experiments/166e869e-5d6d-46bc-98f7-d1628eea8e11"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"c87bfa0ce500156944b9eac7ff4d105a","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"c87bfa0ce500156944b9eac7ff4d105a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"f67382f63a7b6e532a9fb4b83b8390e0","responseTime":134,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f15b9b16-33ae-4d10-95f7-cc694403b253' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c449cee5fbaa35ba395a5c1d7655973","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"f67382f63a7b6e532a9fb4b83b8390e0"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.855106,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"9c449cee5fbaa35ba395a5c1d7655973"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/193589e5-dc43-4078-83cd-094ca46cefa8' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f8b63cdb-3da0-4c4f-b8c2-f2c84fe25552","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.2217698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c449cee5fbaa35ba395a5c1d7655973"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f1a96f5-8dda-4fd1-86cd-44e13eae9b1f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.227315} 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":"9c449cee5fbaa35ba395a5c1d7655973"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"d7f226e1-8efb-4b6d-b5eb-250715fd4f2b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.237202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8026ee16-b89b-4935-932b-cba203788fcd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.2373836} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c449cee5fbaa35ba395a5c1d7655973"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"9eaa9877-3ccb-46d5-9b4b-8c11cfb3cea5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.2450914} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c449cee5fbaa35ba395a5c1d7655973"},"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":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c449cee5fbaa35ba395a5c1d7655973"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"9c449cee5fbaa35ba395a5c1d7655973","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f57e4847ced08fed148994b0f9140277","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.008048,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"f57e4847ced08fed148994b0f9140277"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8ae513f0-b08d-4248-a794-ec0b2836e7b8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.2731361} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f57e4847ced08fed148994b0f9140277"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2373af0d-a99f-42d5-9b8c-dc608dd04049","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.279501} 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":"f57e4847ced08fed148994b0f9140277"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"bd4ec7db-55cd-4a16-9767-2a019da68709","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.2964437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17dc746a-1e92-4992-8aa3-736dab4ac66f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.296839} 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":"f57e4847ced08fed148994b0f9140277"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"386da09a-f16b-4bb8-8c38-b9d01bd2a2c6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.3008807} 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":"f57e4847ced08fed148994b0f9140277"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f57e4847ced08fed148994b0f9140277"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"f57e4847ced08fed148994b0f9140277","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f8f66c65de3580dae3a2f57e7091fc6a","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb3f0994fb700a9a2670640e69b14b0c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631634,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"f8f66c65de3580dae3a2f57e7091fc6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873388,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"fb3f0994fb700a9a2670640e69b14b0c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"e6ee2c16-dbeb-452d-9ef1-bba0c16f65bc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.7885928} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8f66c65de3580dae3a2f57e7091fc6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"cbf35ca7-874e-4ce6-894a-1398236e885c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.7894344} 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":"fb3f0994fb700a9a2670640e69b14b0c"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db62f5de-1b18-42a8-bc17-1f81609d0e67","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.794134} 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":"f8f66c65de3580dae3a2f57e7091fc6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4b943a0-7255-47c8-b7ae-be763b17bf87","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.7950208} 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":"fb3f0994fb700a9a2670640e69b14b0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"7f99aa5e-18fd-4e9c-8add-62811e3ad669","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.798433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb3f0994fb700a9a2670640e69b14b0c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4 200 21ms","method":"PATCH","requestID":"fb3f0994fb700a9a2670640e69b14b0c","responseTime":21,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fb3f0994fb700a9a2670640e69b14b0c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"10c1d06cff5e8f3a8f50d5e9fdcc4522","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.59125,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10c1d06cff5e8f3a8f50d5e9fdcc4522"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"1803641e-aa80-4763-a105-518e9c7bcdee","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.809533} 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":"f8f66c65de3580dae3a2f57e7091fc6a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/4783af61-3b34-4137-ad2f-2632a61b2377 200 35ms","method":"PATCH","requestID":"f8f66c65de3580dae3a2f57e7091fc6a","responseTime":35,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4783af61-3b34-4137-ad2f-2632a61b2377 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f8f66c65de3580dae3a2f57e7091fc6a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e4c27be5490bf41cf322532a1d6eb48","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"10c1d06cff5e8f3a8f50d5e9fdcc4522"} device-1 | {"level":"info","message":"POST /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/websocket 200 15ms","method":"POST","requestID":"10c1d06cff5e8f3a8f50d5e9fdcc4522","responseTime":15,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925055,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"3e4c27be5490bf41cf322532a1d6eb48"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4783af61-3b34-4137-ad2f-2632a61b2377/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3e4c27be5490bf41cf322532a1d6eb48"} device-1 | {"level":"info","message":"POST /devices/4783af61-3b34-4137-ad2f-2632a61b2377/websocket 200 16ms","method":"POST","requestID":"3e4c27be5490bf41cf322532a1d6eb48","responseTime":16,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4eb89274cdc719efdc63d7dc9ddafe28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727236,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4eb89274cdc719efdc63d7dc9ddafe28"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"02253e00-5e27-4ce0-ac57-e6f67d16c1ee","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.8577614} 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":"4eb89274cdc719efdc63d7dc9ddafe28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4783af61-3b34-4137-ad2f-2632a61b2377? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4eb89274cdc719efdc63d7dc9ddafe28"} device-1 | {"level":"info","message":"GET /devices/4783af61-3b34-4137-ad2f-2632a61b2377? 200 11ms","method":"GET","requestID":"4eb89274cdc719efdc63d7dc9ddafe28","responseTime":11,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37e6ee6e9850187db9d478401bdaaaf4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677609,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"37e6ee6e9850187db9d478401bdaaaf4"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"7e38dc69-2800-4ede-95ef-f0bdc5d8075e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.874959} 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":"37e6ee6e9850187db9d478401bdaaaf4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37e6ee6e9850187db9d478401bdaaaf4"} device-1 | {"level":"info","message":"GET /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4? 200 13ms","method":"GET","requestID":"37e6ee6e9850187db9d478401bdaaaf4","responseTime":13,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a96c12dbfafcf7e94da57e7e30666d33","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:52986","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.147866,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a96c12dbfafcf7e94da57e7e30666d33"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"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:52986","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961606,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"efc9b770-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.560581,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"efca0590-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"913ced6c-a7bc-43b6-898a-b0edf5cba000","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.935599} 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":"efc9b770-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"dd1875d8-a57e-4da6-a3ca-f6e3955930fd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306701.9364944} 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":"efca0590-32d2-11ef-8c48-074c31242816"},"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/4783af61-3b34-4137-ad2f-2632a61b2377? 200 14ms","method":"GET","requestID":"efc9b770-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4? 200 13ms","method":"GET","requestID":"efca0590-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"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:52986","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.231626,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853349,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} 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":"efd32d50-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd37b70-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44172","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"005e48fa-60d1-4b6b-a515-b734c02cc13b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0012639} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42ca420f-fd76-4cf6-8b31-481cac8f4e0b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0016968} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd32d50-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"13a8d9a9-703e-490d-bd39-85502b8a7e32","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0023146} authorization-1 | {"client_addr":"127.0.0.1:44172","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.697737,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","rebac_allow":false,"scope_allow":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":"efd3c990-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd37b70-32d2-11ef-8c48-074c31242816"},"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/4783af61-3b34-4137-ad2f-2632a61b2377? 200 19ms","method":"GET","requestID":"efd32d50-32d2-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling 200 16ms","method":"POST","requestID":"efd3c990-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4? 200 19ms","method":"GET","requestID":"efd37b70-32d2-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523d1309-e92f-46e6-8bc5-7becd6784c72#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523d1309-e92f-46e6-8bc5-7becd6784c72","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"0d0f05bd-3fc2-4249-bcb8-1f75a8aa3fd8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0119793} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21dd148f-24d0-4e60-8fdb-c2531b0948e6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0123117} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a96c12dbfafcf7e94da57e7e30666d33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f8e4cf1-29ef-458e-9c69-1bdbb2778629","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0170443} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfc14666-96d9-446f-8ee0-fa2c32abde8a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0175393} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521329,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd688b0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.098231,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd6d6d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"25/Jun/2024:09:11:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a96c12dbfafcf7e94da57e7e30666d33"} experiment-1 | {"level":"info","message":"POST /experiments? 201 135ms","method":"POST","requestID":"a96c12dbfafcf7e94da57e7e30666d33","responseTime":135,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling 200 12ms","method":"POST","requestID":"efd688b0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMn0.gmWoLj2Qw0o16Au2ZD6bPZxH3rfvKRJqD9i2ZBvsIzk","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling 200 11ms","method":"POST","requestID":"efd6d6d0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b09cfe12f100da4a77a18562be3077a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961445,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306702,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMn0.gmWoLj2Qw0o16Au2ZD6bPZxH3rfvKRJqD9i2ZBvsIzk"} 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":"4b09cfe12f100da4a77a18562be3077a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b581995-f7a4-4b42-a52e-bd2035f6248d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0302858} authorization-1 | {"client_addr":"127.0.0.1:47306","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.11981,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efd8d2a0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.237166916Z"}]},"request_id":"f95dacf6-121c-4660-89bc-751b0df384cb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0335548} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling 200 8ms","method":"POST","requestID":"efd8d2a0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b09cfe12f100da4a77a18562be3077a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"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":"eef694c5-1d82-4ee4-ba0f-9092eef67fef"},{"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":"8f59c18c-1e8f-4a90-8c05-358cb9fbbd4f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7ef15e73-19c1-4a41-b1ee-18cd2eff4a54"}]},"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/4783af61-3b34-4137-ad2f-2632a61b2377"},{"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4783af61-3b34-4137-ad2f-2632a61b2377? 200 14ms","method":"GET","requestID":"4b09cfe12f100da4a77a18562be3077a","responseTime":14,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4783af61-3b34-4137-ad2f-2632a61b2377? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b09cfe12f100da4a77a18562be3077a"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.729492,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306701,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMX0.7klVhm53Xo3wyuRe1rCtBIs9T2Xenq9HXRQ1UWQ0eb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdaa760-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMn0.gmWoLj2Qw0o16Au2ZD6bPZxH3rfvKRJqD9i2ZBvsIzk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3ff8caa8ba6d4abdc70a8b911e9009d6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731274,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306702,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwMn0.gmWoLj2Qw0o16Au2ZD6bPZxH3rfvKRJqD9i2ZBvsIzk"} 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":"3ff8caa8ba6d4abdc70a8b911e9009d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"2c0a4503-fa5c-4639-a10a-d1ed520b3f33","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.051211} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ecb99ebe-6249-4b31-b4ef-9abeef0e73c1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.0515983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:41.296263795Z"}]},"request_id":"1fdd01ff-fca2-4b5c-9941-2b7747e0c3bc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.052348} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdaa760-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3ff8caa8ba6d4abdc70a8b911e9009d6"},"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":"25/Jun/2024:09:11:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ff8caa8ba6d4abdc70a8b911e9009d6"} device-1 | {"level":"info","message":"GET /devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4? 200 12ms","method":"GET","requestID":"3ff8caa8ba6d4abdc70a8b911e9009d6","responseTime":12,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4?"} 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/ab81811a-ddb8-43d6-bd32-1f3878ac15ac'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"efdaa760-32d2-11ef-8c48-074c31242816","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a5150f0-c7b5-458c-a1fe-4f27baff09df","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.1037014} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.805808,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","rebac_allow":false,"scope_allow":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":"efe3f630-32d2-11ef-8c48-074c31242816"},"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/4783af61-3b34-4137-ad2f-2632a61b2377/signaling 200 8ms","method":"POST","requestID":"efe3f630-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca79f4d6-dc89-45ec-8e58-15838e6def62","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306702.1145563} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.359289,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efe5a3e0-32d2-11ef-8c48-074c31242816"},"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling 200 8ms","method":"POST","requestID":"efe5a3e0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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/ab81811a-ddb8-43d6-bd32-1f3878ac15ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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":"dd0ae22c3919ddc4fe456545f3f3e1df","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/4783af61-3b34-4137-ad2f-2632a61b2377"},{"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"dd0ae22c3919ddc4fe456545f3f3e1df","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd0ae22c3919ddc4fe456545f3f3e1df"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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/ab81811a-ddb8-43d6-bd32-1f3878ac15ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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":"f39d1c41cec03401c376dffd578a68b7","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/4783af61-3b34-4137-ad2f-2632a61b2377"},{"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab81811a-ddb8-43d6-bd32-1f3878ac15ac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81be995f-c897-4fcd-80c7-8c0904d67d45","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.1970017} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.619483,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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":"f12305e0-32d2-11ef-8c48-074c31242816"},"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/ab81811a-ddb8-43d6-bd32-1f3878ac15ac 200 13ms","method":"GET","requestID":"f12305e0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"f39d1c41cec03401c376dffd578a68b7","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","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":"f39d1c41cec03401c376dffd578a68b7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c946b2c8-4f69-4d9a-9e4e-18f5d066398f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.2266603} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.418646,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","rebac_allow":false,"scope_allow":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":"f12772b0-32d2-11ef-8c48-074c31242816"},"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/4783af61-3b34-4137-ad2f-2632a61b2377/signaling 200 14ms","method":"POST","requestID":"f12772b0-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b217b372-abbf-4527-943e-f60e89999f8e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.2423549} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.644029,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","rebac_allow":false,"scope_allow":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":"f129e3b0-32d2-11ef-8c48-074c31242816"},"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling 200 14ms","method":"POST","requestID":"f129e3b0-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c46d51ffef133eedcafe0e3b5d272536","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.336801,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306704,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc"} 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":"c46d51ffef133eedcafe0e3b5d272536"},"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/523d1309-e92f-46e6-8bc5-7becd6784c72"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c46d51ffef133eedcafe0e3b5d272536"} experiment-1 | {"level":"info","message":"GET /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72 200 15ms","method":"GET","requestID":"c46d51ffef133eedcafe0e3b5d272536","responseTime":15,"status":200,"url":"/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"54547016ec922c5231b3f042d8fe12fe","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.482943,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306704,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc"} 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":"54547016ec922c5231b3f042d8fe12fe"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.075415,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306704,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc"} 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":"f135a380-32d2-11ef-8c48-074c31242816"},"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/ab81811a-ddb8-43d6-bd32-1f3878ac15ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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":"6c171faab5b70c790a54f17499172f46","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab81811a-ddb8-43d6-bd32-1f3878ac15ac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fab81811a-ddb8-43d6-bd32-1f3878ac15ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"aed9d7b5-4cdd-48e8-929a-f077fa6b5a92","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.3399017} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/4783af61-3b34-4137-ad2f-2632a61b2377"},{"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9423a25e112806d64a674cb648b66381","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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebb1fc26-464c-4946-8e06-57d1d667a375","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.3405085} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f135a380-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} 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/4783af61-3b34-4137-ad2f-2632a61b2377"},{"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"ab81811a-ddb8-43d6-bd32-1f3878ac15ac","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/ab81811a-ddb8-43d6-bd32-1f3878ac15ac 204 48ms","method":"DELETE","requestID":"f135a380-32d2-11ef-8c48-074c31242816","responseTime":48,"status":204,"url":"/peerconnections/ab81811a-ddb8-43d6-bd32-1f3878ac15ac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4783af61-3b34-4137-ad2f-2632a61b2377","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17c51afe-fc8b-44d2-8423-8a92c756df8b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.3863566} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.745294,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377","object_type":"device","rebac_allow":false,"scope_allow":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":"f13fdcb0-32d2-11ef-8c48-074c31242816"},"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/4783af61-3b34-4137-ad2f-2632a61b2377/signaling 200 14ms","method":"POST","requestID":"f13fdcb0-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/4783af61-3b34-4137-ad2f-2632a61b2377/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523d1309-e92f-46e6-8bc5-7becd6784c72': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F523d1309-e92f-46e6-8bc5-7becd6784c72","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"13716164-fe9c-4650-9a78-5d5ad6a09f27","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.3951297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"643b9a73-abc2-4845-bba3-7cacc7e8c245","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.3954375} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54547016ec922c5231b3f042d8fe12fe"},"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:52986","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d15e1025-a228-44da-8d8d-2218d0f0b3dd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.4044003} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.760618,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4","object_type":"device","rebac_allow":false,"scope_allow":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":"f1429bd0-32d2-11ef-8c48-074c31242816"},"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/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling 200 14ms","method":"POST","requestID":"f1429bd0-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54547016ec922c5231b3f042d8fe12fe"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.632","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7b4280b48fd558a4a27042f9f7a3ca70"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.646","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3110de4537b5001e593332043fb03555"} experiment-1 | {"level":"info","message":"DELETE /experiments/523d1309-e92f-46e6-8bc5-7becd6784c72 204 172ms","method":"DELETE","requestID":"54547016ec922c5231b3f042d8fe12fe","responseTime":172,"status":204,"url":"/experiments/523d1309-e92f-46e6-8bc5-7becd6784c72"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"6c171faab5b70c790a54f17499172f46","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c171faab5b70c790a54f17499172f46"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"9423a25e112806d64a674cb648b66381","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"9423a25e112806d64a674cb648b66381"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f6f4429551f0551ee254138137514101","responseTime":4,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7c1c8b46-c88c-4a15-bd8e-0621ec5001e4' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.929751,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306704,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6f4429551f0551ee254138137514101"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4783af61-3b34-4137-ad2f-2632a61b2377' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0c1ca7ca-d0af-450f-b69a-4e70d284f31a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.4964478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6f4429551f0551ee254138137514101"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c905393-8fe5-4538-9593-c41bb9180078","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.502758} 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":"f6f4429551f0551ee254138137514101"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"81529788-8792-4558-8ee7-bccee306615d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.5126755} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f5fe44c-2c29-473b-9c89-1a9c3ac170d7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.5129478} 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":"f6f4429551f0551ee254138137514101"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.512648651Z"}]},"request_id":"db5bed0a-8467-474a-84c7-45325dd7ecbc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.5175636} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6f4429551f0551ee254138137514101"},"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":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6f4429551f0551ee254138137514101"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"f6f4429551f0551ee254138137514101","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1670f78372f25086255b65ebfce91d92","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.848395,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306704,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNH0.GIZTjXqHjMNKMxErlwdwZPCG6mNqO2bln2HY2_dxcMc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1670f78372f25086255b65ebfce91d92"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c972c796-9511-4ed5-b1fe-cd83bcae47cd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.541115} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1670f78372f25086255b65ebfce91d92"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63aa5bab-d021-494c-9489-7b2aea0c769b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.547278} 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":"1670f78372f25086255b65ebfce91d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"3ecf82fd-9464-46df-9f3b-02a34bbbc78e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.5635047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11fd2729-01f8-49de-a0dd-bb805a11e856","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.5635738} 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":"1670f78372f25086255b65ebfce91d92"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.563472337Z"}]},"request_id":"351c002a-9867-4860-b6fe-66ba49318bcf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306704.5678718} 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":"1670f78372f25086255b65ebfce91d92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1670f78372f25086255b65ebfce91d92"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"1670f78372f25086255b65ebfce91d92","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6a857801dcdfa9644d6deed7349cb4f2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6434d665-f144-4d71-b351-585fe9b8b1d0/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":"6a857801dcdfa9644d6deed7349cb4f2"} device-1 | {"level":"info","message":"OPTIONS /devices/6434d665-f144-4d71-b351-585fe9b8b1d0/websocket 200 1ms","method":"OPTIONS","requestID":"6a857801dcdfa9644d6deed7349cb4f2","responseTime":1,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5bbd3d16f85689470f2c175343c0ad0e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0a63591e83a45e3b19f5924629b0d7a2"} device-1 | {"level":"info","message":"OPTIONS /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/websocket 200 1ms","method":"OPTIONS","requestID":"0a63591e83a45e3b19f5924629b0d7a2","responseTime":1,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0a63591e83a45e3b19f5924629b0d7a2","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.423939,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5bbd3d16f85689470f2c175343c0ad0e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"454d93ed7a7935cba0f91dc34794dc17","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745657,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"454d93ed7a7935cba0f91dc34794dc17"},"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":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6434d665-f144-4d71-b351-585fe9b8b1d0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5bbd3d16f85689470f2c175343c0ad0e"} device-1 | {"level":"info","message":"POST /devices/6434d665-f144-4d71-b351-585fe9b8b1d0/websocket 200 23ms","method":"POST","requestID":"5bbd3d16f85689470f2c175343c0ad0e","responseTime":23,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/websocket 200 22ms","method":"POST","requestID":"454d93ed7a7935cba0f91dc34794dc17","responseTime":22,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"454d93ed7a7935cba0f91dc34794dc17"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d55448166e7f013f1e7304466120426","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099403,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} 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":"4d55448166e7f013f1e7304466120426"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.512648651Z"}]},"request_id":"8ba46763-0384-49bb-84b5-8b24bd1422ff","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.607656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d55448166e7f013f1e7304466120426"},"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":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d55448166e7f013f1e7304466120426"} device-1 | {"level":"info","message":"GET /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78? 200 14ms","method":"GET","requestID":"4d55448166e7f013f1e7304466120426","responseTime":14,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4024886b87e614ca7f6c098ea7f92547","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828783,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} 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":"4024886b87e614ca7f6c098ea7f92547"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.563472337Z"}]},"request_id":"4f7aa06d-5456-4c40-a0b2-11b0f2c5b425","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.6281216} 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":"4024886b87e614ca7f6c098ea7f92547"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6434d665-f144-4d71-b351-585fe9b8b1d0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4024886b87e614ca7f6c098ea7f92547"} device-1 | {"level":"info","message":"GET /devices/6434d665-f144-4d71-b351-585fe9b8b1d0? 200 12ms","method":"GET","requestID":"4024886b87e614ca7f6c098ea7f92547","responseTime":12,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53128bcdab4d547d7be240809e82a14e","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:52986","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.138234,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} 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":"53128bcdab4d547d7be240809e82a14e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"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:52986","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881305,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f29e0d20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.451618,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} 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":"f29e5b40-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.512648651Z"}]},"request_id":"3edc63d5-1766-4014-b6da-fd15cff7486a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.6860862} 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":"f29e0d20-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.563472337Z"}]},"request_id":"cb0ad889-fd87-4b1b-b74c-b78db35ba7fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.6922898} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f29e5b40-32d2-11ef-8c48-074c31242816"},"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/d3e9ab89-2839-46c5-a329-9959e1ebda78? 200 24ms","method":"GET","requestID":"f29e0d20-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6434d665-f144-4d71-b351-585fe9b8b1d0? 200 25ms","method":"GET","requestID":"f29e5b40-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"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/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.733999,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2aa4220-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819992,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} 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":"f2aab750-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6de310f-e182-493a-9c84-bcb528e33ce3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.7687523} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.078384,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","rebac_allow":false,"scope_allow":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":"f2ab0570-32d2-11ef-8c48-074c31242816"},"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/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling 200 17ms","method":"POST","requestID":"f2ab0570-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.512648651Z"}]},"request_id":"6146eae0-313f-41a7-952b-df690f24f6d0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.7757437} 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":"f2aa4220-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.563472337Z"}]},"request_id":"86ef4672-1cbc-4d6c-9703-532c3380ca83","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.7776506} 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":"f2aab750-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07d5e1d6-5596-456a-aa45-f711f8a469c3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07d5e1d6-5596-456a-aa45-f711f8a469c3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"41ed1c45-a900-414e-bd6a-758ca896d448","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.7876213} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8d626ac-6991-49e9-9801-cfcb7318fd9c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.7879984} device-1 | {"level":"info","message":"GET /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78? 200 36ms","method":"GET","requestID":"f2aa4220-32d2-11ef-8c48-074c31242816","responseTime":36,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53128bcdab4d547d7be240809e82a14e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e75ebcf6-a226-477f-9e8f-a5c01539a401","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.7909517} device-1 | {"level":"info","message":"GET /devices/6434d665-f144-4d71-b351-585fe9b8b1d0? 200 34ms","method":"GET","requestID":"f2aab750-32d2-11ef-8c48-074c31242816","responseTime":34,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.896104,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","rebac_allow":false,"scope_allow":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":"f2ae60d0-32d2-11ef-8c48-074c31242816"},"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/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling 200 13ms","method":"POST","requestID":"f2ae60d0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53128bcdab4d547d7be240809e82a14e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 162ms","method":"POST","requestID":"53128bcdab4d547d7be240809e82a14e","responseTime":162,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"393777cb-61ee-4bf8-9596-1b74aaf88493","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8012066} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.652533,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","rebac_allow":false,"scope_allow":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":"f2b0aac0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"663214245c73744ed05ab99cb14c09f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling 200 11ms","method":"POST","requestID":"f2b0aac0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762437,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} 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":"663214245c73744ed05ab99cb14c09f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11: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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.512648651Z"}]},"request_id":"62750b1c-52fb-45cd-b8a0-87043a491001","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8135073} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"663214245c73744ed05ab99cb14c09f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76b27c12-633a-46f9-9a05-c929b7db98a0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8147914} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.77503,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","rebac_allow":false,"scope_allow":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":"f2b2a690-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"663214245c73744ed05ab99cb14c09f8"} device-1 | {"level":"info","message":"GET /devices/d3e9ab89-2839-46c5-a329-9959e1ebda78? 200 13ms","method":"GET","requestID":"663214245c73744ed05ab99cb14c09f8","responseTime":13,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling 200 11ms","method":"POST","requestID":"f2b2a690-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"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":"91d9c7f9-abb0-4a0f-9b17-1dd13db40856"},{"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":"2299095e-1a2a-4f21-b928-d35fd5b7a43a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ec062213-009e-472e-9fef-1e736051ab43"}]},"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/6434d665-f144-4d71-b351-585fe9b8b1d0"},{"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/d3e9ab89-2839-46c5-a329-9959e1ebda78"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1fe470caff607900fcc117620b34ef9b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.975187,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2b4a260-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658112,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306706,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwNn0.J0ZZRt1KYuVU658Q2qIXnTLmL5C1D-bAY1iEb52j0h0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fe470caff607900fcc117620b34ef9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:44.563472337Z"}]},"request_id":"4087000e-c86c-4d11-ba59-c62fba19b99a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8308022} 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":"1fe470caff607900fcc117620b34ef9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"365b69f5-e515-4322-99a5-7db14d87814a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8347929} gateway-1 | {"time_local":"25/Jun/2024:09:11:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6434d665-f144-4d71-b351-585fe9b8b1d0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1fe470caff607900fcc117620b34ef9b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9e32e1f-4183-43cd-be56-beb4c9d0da04","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8351052} device-1 | {"level":"info","message":"GET /devices/6434d665-f144-4d71-b351-585fe9b8b1d0? 200 11ms","method":"GET","requestID":"1fe470caff607900fcc117620b34ef9b","responseTime":11,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2b4a260-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 25ms","method":"POST","requestID":"f2b4a260-32d2-11ef-8c48-074c31242816","responseTime":25,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"098e0460-e55d-4c35-b296-7d1e33a56b62","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.8758678} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349335,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2bc1c70-32d2-11ef-8c48-074c31242816"},"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/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling 200 8ms","method":"POST","requestID":"f2bc1c70-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"132a4648-0953-47aa-9728-43c89c85559b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.885568} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448831,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2bda310-32d2-11ef-8c48-074c31242816"},"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/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling 200 12ms","method":"POST","requestID":"f2bda310-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","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":"10654213c0ca879444d8081c83d93aef","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0"},{"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/d3e9ab89-2839-46c5-a329-9959e1ebda78"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"10654213c0ca879444d8081c83d93aef","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"10654213c0ca879444d8081c83d93aef"} device-1 | {"data":{"peerconnection":"1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","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/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"2420feaa64940d6d1bf6a14d8a89e903","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0"},{"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/d3e9ab89-2839-46c5-a329-9959e1ebda78"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee6359b0-3178-4f75-b18c-b976b524a736","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.9620545} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.077366,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2c962e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6 200 7ms","method":"GET","requestID":"f2c962e0-32d2-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"2420feaa64940d6d1bf6a14d8a89e903","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"2420feaa64940d6d1bf6a14d8a89e903"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1346b1d9-5851-4a26-9f2b-f83b6087fc57","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.9877467} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.167731,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2cd5a80-32d2-11ef-8c48-074c31242816"},"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/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling 200 7ms","method":"POST","requestID":"f2cd5a80-32d2-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4824283d-d53a-44bb-ae3e-8513ec63fd7b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306706.9970317} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.031203,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2ceba10-32d2-11ef-8c48-074c31242816"},"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/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling 200 7ms","method":"POST","requestID":"f2ceba10-32d2-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"489c5285e828affeccb773204ca033d7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.137636,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306707,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A"} 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":"489c5285e828affeccb773204ca033d7"},"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/07d5e1d6-5596-456a-aa45-f711f8a469c3"} gateway-1 | {"time_local":"25/Jun/2024:09:11:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"489c5285e828affeccb773204ca033d7"} experiment-1 | {"level":"info","message":"GET /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3 200 14ms","method":"GET","requestID":"489c5285e828affeccb773204ca033d7","responseTime":14,"status":200,"url":"/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"45eff0122d9c4345e989e98ad52a11df","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.304444,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306707,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A"} 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":"45eff0122d9c4345e989e98ad52a11df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.729836,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306707,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A"} 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":"f2db6440-32d2-11ef-8c48-074c31242816"},"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/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a501e78-f7f0-437c-8b71-3e7bfbfc29b6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"76a5173d-9543-4874-8e2b-05c6d7549df7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.0915532} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0a94010-b713-434d-ae84-c64643c2ec11","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.0917265} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ac3969aa80af6602d6b1d381a203154e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2db6440-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/6434d665-f144-4d71-b351-585fe9b8b1d0"},{"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/d3e9ab89-2839-46c5-a329-9959e1ebda78"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6d4c6f829c8e54401ef615df0c25812c","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/6434d665-f144-4d71-b351-585fe9b8b1d0"},{"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/d3e9ab89-2839-46c5-a329-9959e1ebda78"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"1a501e78-f7f0-437c-8b71-3e7bfbfc29b6","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/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6 204 38ms","method":"DELETE","requestID":"f2db6440-32d2-11ef-8c48-074c31242816","responseTime":38,"status":204,"url":"/peerconnections/1a501e78-f7f0-437c-8b71-3e7bfbfc29b6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6434d665-f144-4d71-b351-585fe9b8b1d0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5eb75cd-65cf-46e2-b9d0-d7a1720e7782","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.1361635} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.267299,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0","object_type":"device","rebac_allow":false,"scope_allow":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":"f2e3a1a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07d5e1d6-5596-456a-aa45-f711f8a469c3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07d5e1d6-5596-456a-aa45-f711f8a469c3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"ec1262fd-212f-429a-898e-3da757d7a73a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.1407862} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling 200 11ms","method":"POST","requestID":"f2e3a1a0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/6434d665-f144-4d71-b351-585fe9b8b1d0/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c8870bb-385a-4eb4-87ac-65416d18c500","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.1410427} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45eff0122d9c4345e989e98ad52a11df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3e9ab89-2839-46c5-a329-9959e1ebda78","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdb00a6b-d391-4018-a467-23eeeb11d733","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.1498506} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.478881,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78","object_type":"device","rebac_allow":false,"scope_allow":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":"f2e5c480-32d2-11ef-8c48-074c31242816"},"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/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling 200 10ms","method":"POST","requestID":"f2e5c480-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"} gateway-1 | {"time_local":"25/Jun/2024:09:11:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45eff0122d9c4345e989e98ad52a11df"} experiment-1 | {"level":"info","message":"DELETE /experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3 204 146ms","method":"DELETE","requestID":"45eff0122d9c4345e989e98ad52a11df","responseTime":146,"status":204,"url":"/experiments/07d5e1d6-5596-456a-aa45-f711f8a469c3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"ac3969aa80af6602d6b1d381a203154e","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"ac3969aa80af6602d6b1d381a203154e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"6d4c6f829c8e54401ef615df0c25812c","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d4c6f829c8e54401ef615df0c25812c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b4b9530fd8a7ec539fcdee768231a09","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.857741,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306707,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b4b9530fd8a7ec539fcdee768231a09"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway-1 | {"time_local":"25/Jun/2024:09:11:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.649","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"21ad515db4a7a6dc93fd37673ac29965"} gateway-1 | {"time_local":"25/Jun/2024:09:11:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.639","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4e199587ff2253dcb15911b1dffb2d84"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d3e9ab89-2839-46c5-a329-9959e1ebda78' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6434d665-f144-4d71-b351-585fe9b8b1d0' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a00a6f29-0397-4776-b156-162b2cd65396","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.234869} 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":"0b4b9530fd8a7ec539fcdee768231a09"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b2a9660-edb7-40fe-8067-515876ac26f5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2396696} 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":"0b4b9530fd8a7ec539fcdee768231a09"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"0de95a89-c8d5-4309-99ca-99c1c2166c72","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2497897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33d3e2e7-01bb-42d7-b335-ba5882a37367","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2499766} 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":"0b4b9530fd8a7ec539fcdee768231a09"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.249750703Z"}]},"request_id":"b5a7a7e4-f226-4026-a65a-e715f169e0c8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2536645} 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":"0b4b9530fd8a7ec539fcdee768231a09"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"0b4b9530fd8a7ec539fcdee768231a09","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b4b9530fd8a7ec539fcdee768231a09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2034372f48ee5f7602dc73bdec3431e6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.665188,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306707,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwN30.JAgWlDBEVqmShdUtjUsIzo1wUEyveZKrOvdt-DKkP9A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2034372f48ee5f7602dc73bdec3431e6"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"539cbc9f-b1bc-4090-88f7-4cd738e2a2ad","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2755313} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2034372f48ee5f7602dc73bdec3431e6"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21150252-ce0a-49b9-b2d3-7e20ebcddb26","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2794933} 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":"2034372f48ee5f7602dc73bdec3431e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8006223d-a7c9-44b1-9c37-726824de12d8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2957027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67e33c97-2977-41e4-b4f2-5ecc5b356fe8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.2960408} 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":"2034372f48ee5f7602dc73bdec3431e6"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.295657500Z"}]},"request_id":"175d9246-ecb0-487c-97c1-f7f600deda30","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306707.3002923} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2034372f48ee5f7602dc73bdec3431e6"},"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":"25/Jun/2024:09:11: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.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2034372f48ee5f7602dc73bdec3431e6"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"2034372f48ee5f7602dc73bdec3431e6","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2e6e182873cc37387faebbb9dba8d4c0","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0cc0727a-4944-4b75-acce-e13bd5606699/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":"2e6e182873cc37387faebbb9dba8d4c0"} device-1 | {"level":"info","message":"OPTIONS /devices/0cc0727a-4944-4b75-acce-e13bd5606699/websocket 200 1ms","method":"OPTIONS","requestID":"2e6e182873cc37387faebbb9dba8d4c0","responseTime":1,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"176a67d0e8f5757d5f0b240239828bd1","responseTime":3,"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 1ms","method":"GET","requestID":"4c2c95387381737e9506c0d3e21eb6a8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/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":"4c2c95387381737e9506c0d3e21eb6a8"} device-1 | {"level":"info","message":"OPTIONS /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/websocket 200 1ms","method":"OPTIONS","requestID":"4c2c95387381737e9506c0d3e21eb6a8","responseTime":1,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189408,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"176a67d0e8f5757d5f0b240239828bd1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d7bbbece70698fb5c0833df1b695b98","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019532,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"2d7bbbece70698fb5c0833df1b695b98"},"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/0cc0727a-4944-4b75-acce-e13bd5606699/websocket 200 22ms","method":"POST","requestID":"176a67d0e8f5757d5f0b240239828bd1","responseTime":22,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0cc0727a-4944-4b75-acce-e13bd5606699/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"176a67d0e8f5757d5f0b240239828bd1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/websocket 200 23ms","method":"POST","requestID":"2d7bbbece70698fb5c0833df1b695b98","responseTime":23,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2d7bbbece70698fb5c0833df1b695b98"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3725c28244c530562b42957276f79275","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939192,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"3725c28244c530562b42957276f79275"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.249750703Z"}]},"request_id":"5f2f1c9f-422d-4563-9136-5b49e3834fc2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.3668313} 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":"3725c28244c530562b42957276f79275"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0cc0727a-4944-4b75-acce-e13bd5606699? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3725c28244c530562b42957276f79275"} device-1 | {"level":"info","message":"GET /devices/0cc0727a-4944-4b75-acce-e13bd5606699? 200 13ms","method":"GET","requestID":"3725c28244c530562b42957276f79275","responseTime":13,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f303e0a410afc8773aa9b8f0bc872587","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975627,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"f303e0a410afc8773aa9b8f0bc872587"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.295657500Z"}]},"request_id":"fddfabd1-6f16-437a-b6e2-9a3f820c967c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.3879166} 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":"f303e0a410afc8773aa9b8f0bc872587"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f303e0a410afc8773aa9b8f0bc872587"} device-1 | {"level":"info","message":"GET /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b? 200 14ms","method":"GET","requestID":"f303e0a410afc8773aa9b8f0bc872587","responseTime":14,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c31e88266fffd322394c90b09c62477b","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:52986","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.883563,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"c31e88266fffd322394c90b09c62477b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"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:52986","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959335,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"f4455480-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017336,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"f445a2a0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.249750703Z"}]},"request_id":"7b5ec557-6567-482c-bff7-c5c2a097a20d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.4567544} 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":"f4455480-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.295657500Z"}]},"request_id":"66186d82-5315-4eae-89da-d4ddc39d45d3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.4592204} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f445a2a0-32d2-11ef-8c48-074c31242816"},"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/0cc0727a-4944-4b75-acce-e13bd5606699? 200 16ms","method":"GET","requestID":"f4455480-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b? 200 16ms","method":"GET","requestID":"f445a2a0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"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/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932657,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44e7c40-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831063,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44eca60-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"101acccf-882a-42aa-b472-bf91fe119bb5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.5183697} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.6124,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.249750703Z"}]},"request_id":"a28be2d8-d768-43a9-9fd3-b62789e30d60","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.521402} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","rebac_allow":false,"scope_allow":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":"f44f1880-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44e7c40-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.295657500Z"}]},"request_id":"515f001c-6748-48a7-9978-5bef087eb3d6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.522247} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f44eca60-32d2-11ef-8c48-074c31242816"},"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/0cc0727a-4944-4b75-acce-e13bd5606699? 200 20ms","method":"GET","requestID":"f44e7c40-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling 200 17ms","method":"POST","requestID":"f44f1880-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b? 200 20ms","method":"GET","requestID":"f44eca60-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4aa178c-ca5a-46d1-9fd7-bdfdfe027fb9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.536182} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e3e7a85-510d-45ac-8a08-f39c38b94b05","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.536824} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368999,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F30622791-24b5-4158-a6b5-90afb3b392bb#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F30622791-24b5-4158-a6b5-90afb3b392bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e8c31468-f9b0-4fca-952a-860321c6a34c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.5371847} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","rebac_allow":false,"scope_allow":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":"f451feb0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.289128,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20ab7a61-699f-40fb-aeeb-051548f8d0eb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.53752} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","rebac_allow":false,"scope_allow":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":"f4524cd0-32d2-11ef-8c48-074c31242816"},"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/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling 200 10ms","method":"POST","requestID":"f451feb0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c31e88266fffd322394c90b09c62477b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling 200 12ms","method":"POST","requestID":"f4524cd0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 152ms","method":"POST","requestID":"c31e88266fffd322394c90b09c62477b","responseTime":152,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c31e88266fffd322394c90b09c62477b"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc23df09-4b2c-4e4c-a0d9-3f2a306f0148","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.5535822} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849248,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","rebac_allow":false,"scope_allow":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":"f45496c0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"196b3d5b3442eb753b75d4447dc0fd68","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling 200 9ms","method":"POST","requestID":"f45496c0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"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":"8b77a229-a7ae-4d64-9dfa-ce5729083a26"},{"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":"749f808b-1729-40c0-bfbf-b225cc02b17e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"68d1e102-d4cb-4dd5-bafe-a16b5a3c25b4"}]},"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/0cc0727a-4944-4b75-acce-e13bd5606699"},{"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/4baf521a-d8a4-4299-97c8-3a91e106b82b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729551,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"196b3d5b3442eb753b75d4447dc0fd68"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.816009,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4566b80-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.249750703Z"}]},"request_id":"cf7f5bf5-5a64-4cf6-934c-95bf23e41146","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.566277} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"196b3d5b3442eb753b75d4447dc0fd68"},"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/0cc0727a-4944-4b75-acce-e13bd5606699? 200 13ms","method":"GET","requestID":"196b3d5b3442eb753b75d4447dc0fd68","responseTime":13,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0cc0727a-4944-4b75-acce-e13bd5606699? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"196b3d5b3442eb753b75d4447dc0fd68"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d321d206d9711640e3f09a8d74dc0057","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"884c0b17-d1ce-44bb-9e53-75e188440f9c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.5763948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"924d8a3f-44fe-4363-b7a4-f8ad813658d0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.57663} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"f4566b80-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831183,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d321d206d9711640e3f09a8d74dc0057"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:47.295657500Z"}]},"request_id":"b0a5f3be-d443-40a7-8be8-490493697f66","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.5843015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d321d206d9711640e3f09a8d74dc0057"},"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/739c78ef-c365-4f12-be77-7f55e1696488'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 31ms","method":"POST","requestID":"f4566b80-32d2-11ef-8c48-074c31242816","responseTime":31,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d321d206d9711640e3f09a8d74dc0057"} device-1 | {"level":"info","message":"GET /devices/4baf521a-d8a4-4299-97c8-3a91e106b82b? 200 15ms","method":"GET","requestID":"d321d206d9711640e3f09a8d74dc0057","responseTime":15,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b60416b-f6ca-4d9d-8fe2-57fcb526b83a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.6205473} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.819748,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f45ecff0-32d2-11ef-8c48-074c31242816"},"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/0cc0727a-4944-4b75-acce-e13bd5606699/signaling 200 8ms","method":"POST","requestID":"f45ecff0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6074c4b5-b32d-427c-9ed6-f11055e73a0b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.6314232} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.975972,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","rebac_allow":false,"scope_allow":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":"f4607da0-32d2-11ef-8c48-074c31242816"},"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/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling 200 11ms","method":"POST","requestID":"f4607da0-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"739c78ef-c365-4f12-be77-7f55e1696488","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":"e242015ffadd466984c9093432b58687","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699"},{"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/4baf521a-d8a4-4299-97c8-3a91e106b82b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"e242015ffadd466984c9093432b58687"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"e242015ffadd466984c9093432b58687","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"739c78ef-c365-4f12-be77-7f55e1696488","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"739c78ef-c365-4f12-be77-7f55e1696488","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/739c78ef-c365-4f12-be77-7f55e1696488' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"739c78ef-c365-4f12-be77-7f55e1696488","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"34efd68302323580c13043bd0df0c57a","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699"},{"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/4baf521a-d8a4-4299-97c8-3a91e106b82b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F739c78ef-c365-4f12-be77-7f55e1696488","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f413a047-c0f8-46b7-9a5f-4e0f7d07d6ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.7018266} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.098212,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f46b5310-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/739c78ef-c365-4f12-be77-7f55e1696488 200 8ms","method":"GET","requestID":"f46b5310-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"34efd68302323580c13043bd0df0c57a","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"34efd68302323580c13043bd0df0c57a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f175324f-30c3-4b96-8e80-8ed3a72a05be","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.729304} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.034048,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f46f98d0-32d2-11ef-8c48-074c31242816"},"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/0cc0727a-4944-4b75-acce-e13bd5606699/signaling 200 7ms","method":"POST","requestID":"f46f98d0-32d2-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7b9c387-3c76-472c-a21b-bf5bd947d950","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.7384858} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.129999,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f470f860-32d2-11ef-8c48-074c31242816"},"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/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling 200 8ms","method":"POST","requestID":"f470f860-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8576462fefcb775fb24d5a96e24aa3cf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/30622791-24b5-4158-a6b5-90afb3b392bb"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.717051,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"8576462fefcb775fb24d5a96e24aa3cf"},"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/30622791-24b5-4158-a6b5-90afb3b392bb"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/30622791-24b5-4158-a6b5-90afb3b392bb HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8576462fefcb775fb24d5a96e24aa3cf"} experiment-1 | {"level":"info","message":"GET /experiments/30622791-24b5-4158-a6b5-90afb3b392bb 200 9ms","method":"GET","requestID":"8576462fefcb775fb24d5a96e24aa3cf","responseTime":9,"status":200,"url":"/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"30f927d53b32350172dbbec0bb9de178","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/30622791-24b5-4158-a6b5-90afb3b392bb"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.684762,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30f927d53b32350172dbbec0bb9de178"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.711005,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","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":"f47b58a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"739c78ef-c365-4f12-be77-7f55e1696488","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F739c78ef-c365-4f12-be77-7f55e1696488': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F739c78ef-c365-4f12-be77-7f55e1696488","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"49b153d0-816a-41e7-88d3-5a6a78e5bbe2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.8195949} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a7f8dab-b744-4462-b222-64e1a4c8ec12","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.8197224} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5422cab61a12274e4704457f25c43948","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f47b58a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/0cc0727a-4944-4b75-acce-e13bd5606699"},{"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/4baf521a-d8a4-4299-97c8-3a91e106b82b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d75bc60f5e444e5f19ba781b48a6309d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699"},{"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/4baf521a-d8a4-4299-97c8-3a91e106b82b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"739c78ef-c365-4f12-be77-7f55e1696488","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/739c78ef-c365-4f12-be77-7f55e1696488 204 40ms","method":"DELETE","requestID":"f47b58a0-32d2-11ef-8c48-074c31242816","responseTime":40,"status":204,"url":"/peerconnections/739c78ef-c365-4f12-be77-7f55e1696488"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0cc0727a-4944-4b75-acce-e13bd5606699","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9c7b25f-6233-475e-8251-e02ce7e9425e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.8621361} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739471,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699","object_type":"device","rebac_allow":false,"scope_allow":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":"f483bd10-32d2-11ef-8c48-074c31242816"},"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/0cc0727a-4944-4b75-acce-e13bd5606699/signaling 200 10ms","method":"POST","requestID":"f483bd10-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/0cc0727a-4944-4b75-acce-e13bd5606699/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F30622791-24b5-4158-a6b5-90afb3b392bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F30622791-24b5-4158-a6b5-90afb3b392bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"31a3041c-f804-4611-855d-dc4ab2d4ebb9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.868451} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3189abee-cd7a-446b-8842-5a6b0034dd55","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.8687954} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30f927d53b32350172dbbec0bb9de178"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4baf521a-d8a4-4299-97c8-3a91e106b82b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"016738ce-3384-45e0-a921-bd9906b857ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.8741972} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.194584,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f485b8e0-32d2-11ef-8c48-074c31242816"},"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/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling 200 9ms","method":"POST","requestID":"f485b8e0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/4baf521a-d8a4-4299-97c8-3a91e106b82b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/30622791-24b5-4158-a6b5-90afb3b392bb"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/30622791-24b5-4158-a6b5-90afb3b392bb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30f927d53b32350172dbbec0bb9de178"} experiment-1 | {"level":"info","message":"DELETE /experiments/30622791-24b5-4158-a6b5-90afb3b392bb 204 137ms","method":"DELETE","requestID":"30f927d53b32350172dbbec0bb9de178","responseTime":137,"status":204,"url":"/experiments/30622791-24b5-4158-a6b5-90afb3b392bb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"5422cab61a12274e4704457f25c43948","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"5422cab61a12274e4704457f25c43948"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"d75bc60f5e444e5f19ba781b48a6309d","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"d75bc60f5e444e5f19ba781b48a6309d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"162db2e1ae07f69e3977a2b0e20deef6","responseTime":6,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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":"0.616","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"05fb00bb87dc364f090be7a738c43c16"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.606","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"820d4eca3416c96577a98fb2b57aa1f1"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.742564,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} 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":"162db2e1ae07f69e3977a2b0e20deef6"},"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/4baf521a-d8a4-4299-97c8-3a91e106b82b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0cc0727a-4944-4b75-acce-e13bd5606699' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cdf8fcf9-22fa-440f-9e45-83af21d8ab33","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.9623845} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"162db2e1ae07f69e3977a2b0e20deef6"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31a40ea7-04d5-410a-b346-1a1f6728ea1a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.9675083} 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":"162db2e1ae07f69e3977a2b0e20deef6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5f95deff-c762-4454-bcab-063ecf57705c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.97817} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08d53ec9-7555-4828-a4a4-a34c557acde2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.9784827} 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":"162db2e1ae07f69e3977a2b0e20deef6"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:49.978128588Z"}]},"request_id":"ad8c7ed3-d4e5-4bec-8c5c-6c3748082845","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306709.9853706} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"162db2e1ae07f69e3977a2b0e20deef6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"162db2e1ae07f69e3977a2b0e20deef6","responseTime":46,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"162db2e1ae07f69e3977a2b0e20deef6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7012d553231ecd8aa4bec56f7037375e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694004,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306709,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcwOX0.-rC1gZcDX8wegttfJmxKD9MWg0zBrrMbF1NWBe25vBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7012d553231ecd8aa4bec56f7037375e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6ff2f25e-fcc9-4a02-9c68-7b7a87b40076","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.0076075} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7012d553231ecd8aa4bec56f7037375e"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07086c42-d620-4b2e-b403-fd4b0094796b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.011795} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7012d553231ecd8aa4bec56f7037375e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"0b1f8aed-da17-4862-9891-c9a28c50c095","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.0210338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7c1234c-b940-4833-b2e2-91e554b219d8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.0212104} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7012d553231ecd8aa4bec56f7037375e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"2cfdbe37-694e-4a8b-ba56-35afb5a0c08a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.0251198} 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":"7012d553231ecd8aa4bec56f7037375e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"7012d553231ecd8aa4bec56f7037375e","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7012d553231ecd8aa4bec56f7037375e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMH0.jvHG2TNjKABf1e5wQAF2REzQE8c0mTDPfx50kyoW3Tg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4fb30c1f772c8de3b42ef60d12b4d04c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.597577,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306710,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMH0.jvHG2TNjKABf1e5wQAF2REzQE8c0mTDPfx50kyoW3Tg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fb30c1f772c8de3b42ef60d12b4d04c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"1250cbda-bd1b-49cf-a0aa-ee27b7e388d8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.521828} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fb30c1f772c8de3b42ef60d12b4d04c"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ebb4463-fd5e-4387-9e55-9960b0692538","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.5275166} 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":"4fb30c1f772c8de3b42ef60d12b4d04c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"03e64327-3d7a-4e41-b2cc-9797cf59e9b3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306710.5404932} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fb30c1f772c8de3b42ef60d12b4d04c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4fb30c1f772c8de3b42ef60d12b4d04c"} device-1 | {"level":"info","message":"PATCH /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729 200 34ms","method":"PATCH","requestID":"4fb30c1f772c8de3b42ef60d12b4d04c","responseTime":34,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMH0.jvHG2TNjKABf1e5wQAF2REzQE8c0mTDPfx50kyoW3Tg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b205ecbe233b974d6801dbaa5afb6d7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200511,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306710,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMH0.jvHG2TNjKABf1e5wQAF2REzQE8c0mTDPfx50kyoW3Tg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b205ecbe233b974d6801dbaa5afb6d7"},"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":"25/Jun/2024:09:11:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6b205ecbe233b974d6801dbaa5afb6d7"} device-1 | {"level":"info","message":"POST /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/websocket 200 19ms","method":"POST","requestID":"6b205ecbe233b974d6801dbaa5afb6d7","responseTime":19,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729' 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":"68ca5d8ac2e42c0482d4790496115cd0","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/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":"68ca5d8ac2e42c0482d4790496115cd0"} device-1 | {"level":"info","message":"OPTIONS /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/websocket 200 1ms","method":"OPTIONS","requestID":"68ca5d8ac2e42c0482d4790496115cd0","responseTime":1,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"790e00631414010d1f91807c9ca99a84","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191217,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"790e00631414010d1f91807c9ca99a84"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/websocket 200 23ms","method":"POST","requestID":"790e00631414010d1f91807c9ca99a84","responseTime":23,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"790e00631414010d1f91807c9ca99a84"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7009250fcad78f5ca1f4567ce7da72c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132849,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7009250fcad78f5ca1f4567ce7da72c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:49.978128588Z"}]},"request_id":"eec07e95-baa1-4bae-8ee6-fb9ba49f674a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.122479} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7009250fcad78f5ca1f4567ce7da72c"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1? 200 17ms","method":"GET","requestID":"c7009250fcad78f5ca1f4567ce7da72c","responseTime":17,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7009250fcad78f5ca1f4567ce7da72c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"623f3d31d5837faf3efafa6f0a895077","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15723,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"623f3d31d5837faf3efafa6f0a895077"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"5284795c-8f75-4378-9e0d-8e618f0e015a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.146823} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"623f3d31d5837faf3efafa6f0a895077"},"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":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"623f3d31d5837faf3efafa6f0a895077"} device-1 | {"level":"info","message":"GET /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729? 200 16ms","method":"GET","requestID":"623f3d31d5837faf3efafa6f0a895077","responseTime":16,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f04328c3dd64504eb7bf2652e5eeb38f","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:52986","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.388713,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} 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":"f04328c3dd64504eb7bf2652e5eeb38f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"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:52986","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.868459,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5ea2ae0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742007,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} 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":"f5ea7900-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:49.978128588Z"}]},"request_id":"815fe5a5-a06e-4d65-aed9-b62d37274ad4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.2154796} 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":"f5ea2ae0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"6b24771b-2e7d-4fae-9b98-e7da1b253041","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.2166922} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5ea7900-32d2-11ef-8c48-074c31242816"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1? 200 16ms","method":"GET","requestID":"f5ea2ae0-32d2-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729? 200 15ms","method":"GET","requestID":"f5ea7900-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"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:52986","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704517,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5f5eab0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211162,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} 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":"f5f611c0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.327416,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cca72a16-1f45-4c90-b629-266b59dcb859","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.2947428} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f5f65fe0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:49.978128588Z"}]},"request_id":"017ed4ed-8199-4574-8bb7-0611b383fd8a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.297773} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"c3799394-c825-43a5-9e7d-63aae88152d1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.2991695} 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":"f5f5eab0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5f611c0-32d2-11ef-8c48-074c31242816"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling 200 20ms","method":"POST","requestID":"f5f65fe0-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1? 200 24ms","method":"GET","requestID":"f5f5eab0-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729? 200 24ms","method":"GET","requestID":"f5f611c0-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.228171,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd41764-d5ed-4310-b106-92747d50927c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd41764-d5ed-4310-b106-92747d50927c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"748d934d-0a78-4e4c-83ba-8d37d1dc5cb9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3141496} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b70f8b0-e677-438f-804d-4fe8596916cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3143287} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49548fe4-5595-449c-8998-15dc79a8db40","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3144386} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","rebac_allow":false,"scope_allow":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":"f5f9e250-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f04328c3dd64504eb7bf2652e5eeb38f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83484380-103a-4ec2-b8d1-72281dca5d47","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3177178} authorization-1 | {"client_addr":"127.0.0.1:44176","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614077,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","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":"f5fa3070-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"POST /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling 200 11ms","method":"POST","requestID":"f5f9e250-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling 200 12ms","method":"POST","requestID":"f5fa3070-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f04328c3dd64504eb7bf2652e5eeb38f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"f04328c3dd64504eb7bf2652e5eeb38f","responseTime":165,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67fe246a-19c2-48be-b35c-8072288c8ef8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3310764} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.818234,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"26464b0dcbb3645970f641e697e0a57c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5fc7a60-32d2-11ef-8c48-074c31242816"},"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:52986","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865901,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} 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":"26464b0dcbb3645970f641e697e0a57c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling 200 14ms","method":"POST","requestID":"f5fc7a60-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Building 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:49.978128588Z"}]},"request_id":"c18012ce-03ba-45a0-8ef7-e3598c584b2c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3414564} 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":"901b26a0-ba25-48f8-b541-bdbec2e3ea22"},{"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":"1b96d0d3-37f6-419c-8f9e-a748fd10bc6b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2439f155-1c19-4bfe-936b-5588f22ce5e9"}]},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1"},{"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/9b281742-b5e5-466a-bb3c-ab4d97e39729"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26464b0dcbb3645970f641e697e0a57c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26464b0dcbb3645970f641e697e0a57c"} device-1 | {"level":"info","message":"GET /devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1? 200 14ms","method":"GET","requestID":"26464b0dcbb3645970f641e697e0a57c","responseTime":14,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.864535,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5ff3980-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7291680e80b24f4902fbdf867cfe1578","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733956,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306712,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxMn0.sTehE5r7z5vTHRZdpZOPJ0VvOcYxmzUKaPsDWifHOsI"} 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":"7291680e80b24f4902fbdf867cfe1578"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"b4b50231-aa0b-4218-937f-63306012e425","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3582335} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a11d9ec6-533a-4753-aa36-04daead19d62","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3586538} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5ff3980-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:50.021012518Z"}]},"request_id":"5df5214f-4911-42fc-b58e-c3561278e956","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.3625605} 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":"7291680e80b24f4902fbdf867cfe1578"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 30ms","method":"POST","requestID":"f5ff3980-32d2-11ef-8c48-074c31242816","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7291680e80b24f4902fbdf867cfe1578"} device-1 | {"level":"info","message":"GET /devices/9b281742-b5e5-466a-bb3c-ab4d97e39729? 200 21ms","method":"GET","requestID":"7291680e80b24f4902fbdf867cfe1578","responseTime":21,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"354f2246-9ab4-4e70-a040-dcc932e586c0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.4114687} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.545095,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f608d670-32d2-11ef-8c48-074c31242816"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling 200 9ms","method":"POST","requestID":"f608d670-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c65035f5-9fef-4f82-b0a8-2b4c90e6390f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306712.4224129} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.216426,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f60a8420-32d2-11ef-8c48-074c31242816"},"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/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling 200 8ms","method":"POST","requestID":"f60a8420-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","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/b264509b-4a7c-483d-8d16-6f7a8be5eb0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7aca54ca976a76b093a0fb35b314a0cc","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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1"},{"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/9b281742-b5e5-466a-bb3c-ab4d97e39729"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"7aca54ca976a76b093a0fb35b314a0cc","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"7aca54ca976a76b093a0fb35b314a0cc"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","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/b264509b-4a7c-483d-8d16-6f7a8be5eb0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","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":"65b3868352f2d833aea84b262712c615","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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1"},{"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/9b281742-b5e5-466a-bb3c-ab4d97e39729"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb264509b-4a7c-483d-8d16-6f7a8be5eb0b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa4ce17f-33e0-4193-a197-4744aacb0cab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.5022402} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.861422,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b","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":"f7479800-32d2-11ef-8c48-074c31242816"},"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/b264509b-4a7c-483d-8d16-6f7a8be5eb0b 200 11ms","method":"GET","requestID":"f7479800-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"65b3868352f2d833aea84b262712c615","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"65b3868352f2d833aea84b262712c615"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e6da92c-83c3-44e0-aa6a-198fb14ebdf0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.537215} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.66284,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f74cef30-32d2-11ef-8c48-074c31242816"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling 200 13ms","method":"POST","requestID":"f74cef30-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddecb184-5ebd-4aed-856d-3a538c7bbd13","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.5546324} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.884898,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","rebac_allow":false,"scope_allow":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":"f74f6030-32d2-11ef-8c48-074c31242816"},"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/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling 200 14ms","method":"POST","requestID":"f74f6030-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2610e9894d4456202e0adff587c34e3b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0fd41764-d5ed-4310-b106-92747d50927c"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.199066,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306714,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ"} 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":"2610e9894d4456202e0adff587c34e3b"},"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/0fd41764-d5ed-4310-b106-92747d50927c"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0fd41764-d5ed-4310-b106-92747d50927c HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2610e9894d4456202e0adff587c34e3b"} experiment-1 | {"level":"info","message":"GET /experiments/0fd41764-d5ed-4310-b106-92747d50927c 200 16ms","method":"GET","requestID":"2610e9894d4456202e0adff587c34e3b","responseTime":16,"status":200,"url":"/experiments/0fd41764-d5ed-4310-b106-92747d50927c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56965dde545031999c7522883ae13a8b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0fd41764-d5ed-4310-b106-92747d50927c"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.121437,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306714,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ"} 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":"56965dde545031999c7522883ae13a8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.190909,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306714,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ"} 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":"f75c5880-32d2-11ef-8c48-074c31242816"},"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/b264509b-4a7c-483d-8d16-6f7a8be5eb0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb264509b-4a7c-483d-8d16-6f7a8be5eb0b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb264509b-4a7c-483d-8d16-6f7a8be5eb0b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"55602449-3d20-4375-bf86-b860b7ebb044","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.6558247} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c5b5db2-8015-456c-84cd-498995160fba","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.6562858} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3032414d0142e9877c0d077e405831b8","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f75c5880-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1"},{"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/9b281742-b5e5-466a-bb3c-ab4d97e39729"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"11b5557dce84037b5cd7096cf484ad7a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1"},{"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/9b281742-b5e5-466a-bb3c-ab4d97e39729"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"b264509b-4a7c-483d-8d16-6f7a8be5eb0b","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/b264509b-4a7c-483d-8d16-6f7a8be5eb0b 204 49ms","method":"DELETE","requestID":"f75c5880-32d2-11ef-8c48-074c31242816","responseTime":49,"status":204,"url":"/peerconnections/b264509b-4a7c-483d-8d16-6f7a8be5eb0b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd41764-d5ed-4310-b106-92747d50927c"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ed15643-6353-4ce1-b25f-fdf014f2e2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30da6dd2-5d28-4bf6-8b45-c9aada40a384","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.713317} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.991219,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f7677c10-32d2-11ef-8c48-074c31242816"},"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/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling 200 15ms","method":"POST","requestID":"f7677c10-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd41764-d5ed-4310-b106-92747d50927c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd41764-d5ed-4310-b106-92747d50927c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"e054739a-f1f4-43b4-9520-7cd6954bf54c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.7201016} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"532358c3-610a-4a61-8894-a3f8c926bc5d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.7207706} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56965dde545031999c7522883ae13a8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b281742-b5e5-466a-bb3c-ab4d97e39729","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7fd2032-8d0e-44da-9227-cac147d9b6d1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.7313747} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.862084,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729","object_type":"device","rebac_allow":false,"scope_allow":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":"f76a6240-32d2-11ef-8c48-074c31242816"},"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/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling 200 13ms","method":"POST","requestID":"f76a6240-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0fd41764-d5ed-4310-b106-92747d50927c"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0fd41764-d5ed-4310-b106-92747d50927c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56965dde545031999c7522883ae13a8b"} experiment-1 | {"level":"info","message":"DELETE /experiments/0fd41764-d5ed-4310-b106-92747d50927c 204 179ms","method":"DELETE","requestID":"56965dde545031999c7522883ae13a8b","responseTime":179,"status":204,"url":"/experiments/0fd41764-d5ed-4310-b106-92747d50927c"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2798","request_time":"4.224","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"58df09c69a9ba0748ed62965a6243c77"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"3032414d0142e9877c0d077e405831b8","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"3032414d0142e9877c0d077e405831b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"11b5557dce84037b5cd7096cf484ad7a","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"11b5557dce84037b5cd7096cf484ad7a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88ea31783c81f4699fae4b2bc49fc2bd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.051038,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306714,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ"} 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":"88ea31783c81f4699fae4b2bc49fc2bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.724","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"03ecc2b10c3473051a744a91f74c3d49"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9b281742-b5e5-466a-bb3c-ab4d97e39729' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"37a9853c-87b4-46da-acf5-8bbed16a524f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8267314} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88ea31783c81f4699fae4b2bc49fc2bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6ed15643-6353-4ce1-b25f-fdf014f2e2a1' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13d62d86-dacf-41a7-a7ef-39821f157fee","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8326802} 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":"88ea31783c81f4699fae4b2bc49fc2bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"ca1baee8-6eb0-4b39-8d89-043ffdc577bd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8484514} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5330dd93-19ea-473e-914f-7df38e30e2b2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8485346} 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":"88ea31783c81f4699fae4b2bc49fc2bd"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.848419821Z"}]},"request_id":"cf4e552b-67e3-475d-b96f-4c396182159b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8529813} 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":"88ea31783c81f4699fae4b2bc49fc2bd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88ea31783c81f4699fae4b2bc49fc2bd"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"88ea31783c81f4699fae4b2bc49fc2bd","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25aad0a988d09d082468724db883629e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839466,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306714,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNH0.UHEkbwF-5hn9D-HfAw-gtjMaRvSJc3itOTC2Mmp8VIQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25aad0a988d09d082468724db883629e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"361b7a33-94ae-40e1-8eee-9fb347b1bb0e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8761182} 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":"25aad0a988d09d082468724db883629e"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3da9aead-f0be-44d7-b574-b286a88e2dce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8805616} 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":"25aad0a988d09d082468724db883629e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"6a558db0-9e6b-4d2f-87f3-3a96209c5fa1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.890318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f60071dd-da53-4821-8caf-5493a015f3a2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.8905663} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25aad0a988d09d082468724db883629e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"70b238b3-d80b-4db0-bc64-01a1d5151071","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306714.894456} 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":"25aad0a988d09d082468724db883629e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25aad0a988d09d082468724db883629e"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"25aad0a988d09d082468724db883629e","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNX0.d5q9XLpLPcOGIV2fMtGuq0po3UFqLOaGTh7XMQluV_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b672958dc8652efc0dd4e0a9dda58cbb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769969,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306715,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNX0.d5q9XLpLPcOGIV2fMtGuq0po3UFqLOaGTh7XMQluV_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b672958dc8652efc0dd4e0a9dda58cbb"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"2ac96307-eb1b-4e63-bbc2-4dbb8d00db30","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306715.3974826} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b672958dc8652efc0dd4e0a9dda58cbb"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de3d239c-4389-41df-98b7-e300c09ab36c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306715.403228} 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":"b672958dc8652efc0dd4e0a9dda58cbb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"8a477ded-9d06-4420-bcb7-4419f22c43a5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306715.4160275} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b672958dc8652efc0dd4e0a9dda58cbb"},"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5 200 34ms","method":"PATCH","requestID":"b672958dc8652efc0dd4e0a9dda58cbb","responseTime":34,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5"} gateway-1 | {"time_local":"25/Jun/2024:09:11:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b672958dc8652efc0dd4e0a9dda58cbb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNX0.d5q9XLpLPcOGIV2fMtGuq0po3UFqLOaGTh7XMQluV_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e1a5a0dd6e1e4e4b6d6528bbec40cf0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25652,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:55Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306715,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNX0.d5q9XLpLPcOGIV2fMtGuq0po3UFqLOaGTh7XMQluV_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e1a5a0dd6e1e4e4b6d6528bbec40cf0"},"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/websocket 200 19ms","method":"POST","requestID":"8e1a5a0dd6e1e4e4b6d6528bbec40cf0","responseTime":19,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8e1a5a0dd6e1e4e4b6d6528bbec40cf0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5' 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":"635fafdffb0e6b773613d36f7062e3dd","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:11:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/51eb752a-4802-410e-88aa-f36c953357d7/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":"635fafdffb0e6b773613d36f7062e3dd"} device-1 | {"level":"info","message":"OPTIONS /devices/51eb752a-4802-410e-88aa-f36c953357d7/websocket 200 1ms","method":"OPTIONS","requestID":"635fafdffb0e6b773613d36f7062e3dd","responseTime":1,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNn0.Vqqm6uZMwNi6kk_Q3Py8riCXkj1DEGunQW7FM42b-i4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"947bf7f06b53aa04a8114b70bc05122e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266604,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306716,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNn0.Vqqm6uZMwNi6kk_Q3Py8riCXkj1DEGunQW7FM42b-i4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"947bf7f06b53aa04a8114b70bc05122e"},"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/51eb752a-4802-410e-88aa-f36c953357d7/websocket 200 22ms","method":"POST","requestID":"947bf7f06b53aa04a8114b70bc05122e","responseTime":22,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:11:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/51eb752a-4802-410e-88aa-f36c953357d7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"947bf7f06b53aa04a8114b70bc05122e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNn0.Vqqm6uZMwNi6kk_Q3Py8riCXkj1DEGunQW7FM42b-i4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"1b409ccbb735300f22c49e28dad4c949","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21418,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306716,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNn0.Vqqm6uZMwNi6kk_Q3Py8riCXkj1DEGunQW7FM42b-i4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b409ccbb735300f22c49e28dad4c949"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.848419821Z"}]},"request_id":"2185d8e6-b44f-4e68-87cd-943266d6e685","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306716.965403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b409ccbb735300f22c49e28dad4c949"},"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":"25/Jun/2024:09:11:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51eb752a-4802-410e-88aa-f36c953357d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b409ccbb735300f22c49e28dad4c949"} device-1 | {"level":"info","message":"GET /devices/51eb752a-4802-410e-88aa-f36c953357d7? 200 17ms","method":"GET","requestID":"1b409ccbb735300f22c49e28dad4c949","responseTime":17,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNn0.Vqqm6uZMwNi6kk_Q3Py8riCXkj1DEGunQW7FM42b-i4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d94369718e0a5f584c299e3c9388cfe2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200807,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306716,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxNn0.Vqqm6uZMwNi6kk_Q3Py8riCXkj1DEGunQW7FM42b-i4"} 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":"d94369718e0a5f584c299e3c9388cfe2"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"49f060c7-8898-440a-af7f-bc631be6c496","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.000153} 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":"d94369718e0a5f584c299e3c9388cfe2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d94369718e0a5f584c299e3c9388cfe2"} device-1 | {"level":"info","message":"GET /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5? 200 26ms","method":"GET","requestID":"d94369718e0a5f584c299e3c9388cfe2","responseTime":26,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6163bdf029fa539bc63d86826dc852db","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:52986","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.127568,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} 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":"6163bdf029fa539bc63d86826dc852db"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"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:52986","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.988747,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8ce3800-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:34940","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34940","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175826,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} 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":"f8ce8620-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.848419821Z"}]},"request_id":"cd7713e4-30d3-498a-8fce-79c147006ea1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.0667903} 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":"f8ce3800-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"8ec779a2-13c1-4ddd-b189-eb6c68fa58b6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.0719447} 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":"f8ce8620-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"GET /devices/51eb752a-4802-410e-88aa-f36c953357d7? 200 17ms","method":"GET","requestID":"f8ce3800-32d2-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5? 200 18ms","method":"GET","requestID":"f8ce8620-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"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/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34940","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.662221,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8d7ade0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:34940","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819105,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} 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":"f8d7d4f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.844839,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea134872-0cd4-462f-ba9b-39e8098ef4e9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1304393} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","rebac_allow":false,"scope_allow":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":"f8d84a20-32d2-11ef-8c48-074c31242816"},"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/51eb752a-4802-410e-88aa-f36c953357d7/signaling 200 15ms","method":"POST","requestID":"f8d84a20-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"56e2aa86-b44c-4dc7-a69d-f95a9b3545a3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.137055} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8d7d4f0-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.848419821Z"}]},"request_id":"10f8a20f-6b27-42ae-80ee-b02a3d311228","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.139595} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8d7ade0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63f56b8c-aa66-4fd4-a475-7b7416024609","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.148103} device-1 | {"level":"info","message":"GET /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5? 200 29ms","method":"GET","requestID":"f8d7d4f0-32d2-11ef-8c48-074c31242816","responseTime":29,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedd77fe8-2002-41a4-8e02-ea892f01a413#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedd77fe8-2002-41a4-8e02-ea892f01a413","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"d23bb8fd-9fee-443c-8e49-485305e57d41","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1483939} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/51eb752a-4802-410e-88aa-f36c953357d7? 200 31ms","method":"GET","requestID":"f8d7ade0-32d2-11ef-8c48-074c31242816","responseTime":31,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8497340b-92d9-4899-b29d-82e3ef1d7076","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1488895} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.73474,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","rebac_allow":false,"scope_allow":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":"f8db3050-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6163bdf029fa539bc63d86826dc852db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling 200 14ms","method":"POST","requestID":"f8db3050-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e736663-57e4-48f3-b4e9-d098076f3d0f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1570394} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.139007,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","rebac_allow":false,"scope_allow":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":"f8dcde00-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:11:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6163bdf029fa539bc63d86826dc852db"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"6163bdf029fa539bc63d86826dc852db","responseTime":145,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/51eb752a-4802-410e-88aa-f36c953357d7/signaling 200 10ms","method":"POST","requestID":"f8dcde00-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"21fa5f83c8a6a46ba45fe841a4dbfcd4","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed292bae-641f-4822-a51e-05b8f4b0693d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1697586} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.355432,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34940","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","rebac_allow":false,"scope_allow":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":"f8ded9d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:34940","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723876,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21fa5f83c8a6a46ba45fe841a4dbfcd4"},"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling 200 10ms","method":"POST","requestID":"f8ded9d0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.848419821Z"}]},"request_id":"19f7dcc7-7d34-46d1-99c7-0d5795155edf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1761472} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"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":"08ac7df6-7f07-47f5-b0cf-6aec5d296565"},{"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":"1f553a78-9585-4c08-a751-2bb87d504b6c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d79a5856-fa9e-4f3b-86dc-d9e2cdf737f2"}]},"level":"info","message":"Built pairwise service configurations"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21fa5f83c8a6a46ba45fe841a4dbfcd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5"},{"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/51eb752a-4802-410e-88aa-f36c953357d7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51eb752a-4802-410e-88aa-f36c953357d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21fa5f83c8a6a46ba45fe841a4dbfcd4"} device-1 | {"level":"info","message":"GET /devices/51eb752a-4802-410e-88aa-f36c953357d7? 200 13ms","method":"GET","requestID":"21fa5f83c8a6a46ba45fe841a4dbfcd4","responseTime":13,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.784088,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8e0d5a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03bc9a1da57c3ab0576f5fdf9a97f5bf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998159,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306717,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxN30.g94riVP2kGZcRq2edNsRElIi7gLHlbwxvB0WvJ-fUgc"} 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":"03bc9a1da57c3ab0576f5fdf9a97f5bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"12cfa2dc-7d41-4372-8555-be77cbf8f505","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1914654} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb30c6ff-fa0c-41f2-9bcd-5b3d29164d75","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.191625} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:54.890294455Z"}]},"request_id":"06cdb0ef-6842-4147-b07d-81268b58da8a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.1922288} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8e0d5a0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 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":"03bc9a1da57c3ab0576f5fdf9a97f5bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:11:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03bc9a1da57c3ab0576f5fdf9a97f5bf"} device-1 | {"level":"info","message":"GET /devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5? 200 11ms","method":"GET","requestID":"03bc9a1da57c3ab0576f5fdf9a97f5bf","responseTime":11,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5?"} 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/f9167fde-b422-4021-950a-7a0cfdb98fa8'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8'"} 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 29ms","method":"POST","requestID":"f8e0d5a0-32d2-11ef-8c48-074c31242816","responseTime":29,"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/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db321729-e2b3-4126-8747-6e3d79ac5776","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.2395697} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.528885,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8e98830-32d2-11ef-8c48-074c31242816"},"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/51eb752a-4802-410e-88aa-f36c953357d7/signaling 200 8ms","method":"POST","requestID":"f8e98830-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1437706-4c63-4394-8e2f-89de1446de14","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306717.2539809} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.427344,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","rebac_allow":false,"scope_allow":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":"f8eb35e0-32d2-11ef-8c48-074c31242816"},"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling 200 13ms","method":"POST","requestID":"f8eb35e0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling"} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","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/f9167fde-b422-4021-950a-7a0cfdb98fa8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","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":"af97f55bdff8fe32431d4f1e242c7731","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":"connecting","url":"http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5"},{"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/51eb752a-4802-410e-88aa-f36c953357d7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"af97f55bdff8fe32431d4f1e242c7731","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"af97f55bdff8fe32431d4f1e242c7731"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7'"} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","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/f9167fde-b422-4021-950a-7a0cfdb98fa8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","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":"87c14780ecd4373b7cab4060b70db3f1","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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5"},{"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/51eb752a-4802-410e-88aa-f36c953357d7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9167fde-b422-4021-950a-7a0cfdb98fa8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25db4276-27f8-477d-b11b-180c342951ff","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.3802826} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.659073,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8","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":"fa2fc3d0-32d2-11ef-8c48-074c31242816"},"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/f9167fde-b422-4021-950a-7a0cfdb98fa8 200 12ms","method":"GET","requestID":"fa2fc3d0-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"87c14780ecd4373b7cab4060b70db3f1","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"87c14780ecd4373b7cab4060b70db3f1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"632d0082-9d55-4d02-aee9-4ec2725d8359","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.410997} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.302826,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","rebac_allow":false,"scope_allow":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":"fa34cce0-32d2-11ef-8c48-074c31242816"},"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling 200 9ms","method":"POST","requestID":"fa34cce0-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25273c42-73b5-4a6c-8e76-6a20ee228eb3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.4216487} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37535,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","rebac_allow":false,"scope_allow":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":"fa367a90-32d2-11ef-8c48-074c31242816"},"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/51eb752a-4802-410e-88aa-f36c953357d7/signaling 200 9ms","method":"POST","requestID":"fa367a90-32d2-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1d94317916745492d47aa54f299ab3be","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.171524,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306719,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto"} 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":"1d94317916745492d47aa54f299ab3be"},"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/edd77fe8-2002-41a4-8e02-ea892f01a413"} experiment-1 | {"level":"info","message":"GET /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413 200 15ms","method":"GET","requestID":"1d94317916745492d47aa54f299ab3be","responseTime":15,"status":200,"url":"/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d94317916745492d47aa54f299ab3be"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ef068a3628643082de639f0f709b9edf","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.142303,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306719,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto"} 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":"ef068a3628643082de639f0f709b9edf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.369687,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306719,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto"} 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":"fa4399f0-32d2-11ef-8c48-074c31242816"},"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/f9167fde-b422-4021-950a-7a0cfdb98fa8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","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":"920c8ed17ee878aa475e0554600d626e","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","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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5"},{"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/51eb752a-4802-410e-88aa-f36c953357d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9590c7d07a9b8f58bb3077e55dd22448","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9167fde-b422-4021-950a-7a0cfdb98fa8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9167fde-b422-4021-950a-7a0cfdb98fa8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"a9d519df-c4ac-4439-a6c5-4d7448453027","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.532043} 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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5"},{"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/51eb752a-4802-410e-88aa-f36c953357d7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8"}}},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"feef7672-744f-4b94-bf0e-c2380ce723d0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.5326116} 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":"fa4399f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"data":{"peerconnection":"f9167fde-b422-4021-950a-7a0cfdb98fa8","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/f9167fde-b422-4021-950a-7a0cfdb98fa8 204 46ms","method":"DELETE","requestID":"fa4399f0-32d2-11ef-8c48-074c31242816","responseTime":46,"status":204,"url":"/peerconnections/f9167fde-b422-4021-950a-7a0cfdb98fa8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4f76a55-4d7d-4143-ad9d-f07ecfaf306c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.57943} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.002806,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5","object_type":"device","rebac_allow":false,"scope_allow":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":"fa4e2140-32d2-11ef-8c48-074c31242816"},"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/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling 200 14ms","method":"POST","requestID":"fa4e2140-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedd77fe8-2002-41a4-8e02-ea892f01a413': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedd77fe8-2002-41a4-8e02-ea892f01a413","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"fb29b9b1-3949-4534-8372-fb8015a38fa5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.5884051} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"466fd0de-1132-4714-bc27-b7de28e541d3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.5887647} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef068a3628643082de639f0f709b9edf"},"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:52986","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51eb752a-4802-410e-88aa-f36c953357d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d584d3f-1a72-44ed-af38-05ce5c9ad7ee","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.5973606} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.413432,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7","object_type":"device","rebac_allow":false,"scope_allow":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":"fa50e060-32d2-11ef-8c48-074c31242816"},"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/51eb752a-4802-410e-88aa-f36c953357d7/signaling 200 14ms","method":"POST","requestID":"fa50e060-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/51eb752a-4802-410e-88aa-f36c953357d7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef068a3628643082de639f0f709b9edf"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3191","request_time":"4.212","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9c29baf5f64ab4718e5dff50b90151a2"} experiment-1 | {"level":"info","message":"DELETE /experiments/edd77fe8-2002-41a4-8e02-ea892f01a413 204 174ms","method":"DELETE","requestID":"ef068a3628643082de639f0f709b9edf","responseTime":174,"status":204,"url":"/experiments/edd77fe8-2002-41a4-8e02-ea892f01a413"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"920c8ed17ee878aa475e0554600d626e","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"920c8ed17ee878aa475e0554600d626e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"9590c7d07a9b8f58bb3077e55dd22448","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:11: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"9590c7d07a9b8f58bb3077e55dd22448"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8393251ba9339e5989ef68b56c665013","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.256545,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.745","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0e239b6e1e58c7a7bb15a9240d40c35a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306719,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto"} 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":"8393251ba9339e5989ef68b56c665013"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4c28b3df-8a9d-4a76-b7be-40443ee7e3e5' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"368d76f8-9720-4089-a29a-f2b989f12ba7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.684996} 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":"8393251ba9339e5989ef68b56c665013"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/51eb752a-4802-410e-88aa-f36c953357d7' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8171efe6-f368-4f17-b206-c39bafa1de1e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.6898232} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8393251ba9339e5989ef68b56c665013"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"0009c1c1-6c21-45ad-ab26-1d086c4f17bd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.706145} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19180054-36e2-4209-97b9-022fa3ab2027","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.70635} 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":"8393251ba9339e5989ef68b56c665013"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"663ef20a-8f9a-4a6f-8413-82e30e890e2d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.7105012} 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":"8393251ba9339e5989ef68b56c665013"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"8393251ba9339e5989ef68b56c665013","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8393251ba9339e5989ef68b56c665013"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4a0c392a8ccf38040d3961e0ef38ef07","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.697563,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:11:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306719,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcxOX0.X9OPyQmvIcCgCrXPy7Ohdc5krK3Yzpyb0KhSvNLbDto"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a0c392a8ccf38040d3961e0ef38ef07"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0b011db-2303-42f9-ad51-b1539fe8db64","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.7327838} 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":"4a0c392a8ccf38040d3961e0ef38ef07"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27a5a84a-9fa2-48a6-93ee-9cec29ceb951","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.737574} 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":"4a0c392a8ccf38040d3961e0ef38ef07"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e59da940-4239-4bb8-b13a-0af8adf7967e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.747236} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3111d9ed-a71b-462f-a967-b7cb984f89e3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.747375} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a0c392a8ccf38040d3961e0ef38ef07"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.747211885Z"}]},"request_id":"04555765-3954-4f97-9a58-9cb63541f853","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306719.7513316} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a0c392a8ccf38040d3961e0ef38ef07"},"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 36ms","method":"POST","requestID":"4a0c392a8ccf38040d3961e0ef38ef07","responseTime":36,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:11:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a0c392a8ccf38040d3961e0ef38ef07"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMH0.Zrgaux7f_RNy5QM8ocvICEuQXVenAY-8qF1hVxu8aRE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c16fe4e796a1a387369f22f9af4a531f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.241729,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306720,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMH0.Zrgaux7f_RNy5QM8ocvICEuQXVenAY-8qF1hVxu8aRE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c16fe4e796a1a387369f22f9af4a531f"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"098f73ca-f253-4b8a-a019-9a5c40eaed85","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306720.2537444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c16fe4e796a1a387369f22f9af4a531f"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3217f76a-cfbf-41d7-8eb7-6768f42aa35a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306720.2607405} 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":"c16fe4e796a1a387369f22f9af4a531f"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"dc502ec8-fae7-4b36-a8de-5f746f9a2cdf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306720.2742336} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c16fe4e796a1a387369f22f9af4a531f"},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53 200 37ms","method":"PATCH","requestID":"c16fe4e796a1a387369f22f9af4a531f","responseTime":37,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53"} gateway-1 | {"time_local":"25/Jun/2024:09:12:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c16fe4e796a1a387369f22f9af4a531f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMH0.Zrgaux7f_RNy5QM8ocvICEuQXVenAY-8qF1hVxu8aRE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"50103cd1069dd3c8389023011a5521e5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.364911,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306720,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMH0.Zrgaux7f_RNy5QM8ocvICEuQXVenAY-8qF1hVxu8aRE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50103cd1069dd3c8389023011a5521e5"},"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":"25/Jun/2024:09:12:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"50103cd1069dd3c8389023011a5521e5"} device-1 | {"level":"info","message":"POST /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/websocket 200 21ms","method":"POST","requestID":"50103cd1069dd3c8389023011a5521e5","responseTime":21,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53' 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":"281a1187b0ad26c25d8011a418e6615e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:12:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a64f1b91-a963-438e-9483-949fe96c530f/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":"281a1187b0ad26c25d8011a418e6615e"} device-1 | {"level":"info","message":"OPTIONS /devices/a64f1b91-a963-438e-9483-949fe96c530f/websocket 200 0ms","method":"OPTIONS","requestID":"281a1187b0ad26c25d8011a418e6615e","responseTime":0,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"41bef7eca9051397f9c270aa8639eb0c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.626435,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41bef7eca9051397f9c270aa8639eb0c"},"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":"25/Jun/2024:09:12:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a64f1b91-a963-438e-9483-949fe96c530f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"41bef7eca9051397f9c270aa8639eb0c"} device-1 | {"level":"info","message":"POST /devices/a64f1b91-a963-438e-9483-949fe96c530f/websocket 200 20ms","method":"POST","requestID":"41bef7eca9051397f9c270aa8639eb0c","responseTime":20,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6d73b957091ce9bde452c2dc70d24556","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.312428,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d73b957091ce9bde452c2dc70d24556"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"1017e850-5690-4c6e-9ec4-a4480e291198","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306721.8597207} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d73b957091ce9bde452c2dc70d24556"},"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":"25/Jun/2024:09:12:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d73b957091ce9bde452c2dc70d24556"} device-1 | {"level":"info","message":"GET /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53? 200 18ms","method":"GET","requestID":"6d73b957091ce9bde452c2dc70d24556","responseTime":18,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a5678f680d579d0c3a5a98d2b145a2b8","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055723,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5678f680d579d0c3a5a98d2b145a2b8"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.747211885Z"}]},"request_id":"e0517566-aa6a-46b2-8318-c11e7757c4ec","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306721.8870156} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5678f680d579d0c3a5a98d2b145a2b8"},"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/a64f1b91-a963-438e-9483-949fe96c530f? 200 18ms","method":"GET","requestID":"a5678f680d579d0c3a5a98d2b145a2b8","responseTime":18,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a64f1b91-a963-438e-9483-949fe96c530f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5678f680d579d0c3a5a98d2b145a2b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8dc354814a32c4dcd2372d0219f31183","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:52986","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.272881,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} 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":"8dc354814a32c4dcd2372d0219f31183"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"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:52986","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.197837,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbb7ea70-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.1887,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} 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":"fbb83890-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"f6bcf147-5ac0-4f91-a986-286fb67db90a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306721.955961} 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":"fbb7ea70-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.747211885Z"}]},"request_id":"a8d24602-4e92-43a0-ba34-d15147de0a89","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306721.961186} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbb83890-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53? 200 20ms","method":"GET","requestID":"fbb7ea70-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a64f1b91-a963-438e-9483-949fe96c530f? 200 22ms","method":"GET","requestID":"fbb83890-32d2-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"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:52986","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.337094,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Successfully running experiment"} 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":"fbc3d150-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.50046,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} 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":"fbc41f70-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.747211885Z"}]},"request_id":"3d5f6d81-4acd-4954-94c6-dbf9b1e3fda3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0384378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"5b21c851-1136-4568-9427-67dfb78e910d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0396147} 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":"fbc41f70-32d2-11ef-8c48-074c31242816"},"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:57512","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbc3d150-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce75c2fd-9ef4-46ea-a23b-2cc5ac0c7193","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0422926} authorization-1 | {"client_addr":"127.0.0.1:57512","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.644928,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","rebac_allow":false,"scope_allow":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":"fbc46d90-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a64f1b91-a963-438e-9483-949fe96c530f? 200 24ms","method":"GET","requestID":"fbc41f70-32d2-11ef-8c48-074c31242816","responseTime":24,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53? 200 28ms","method":"GET","requestID":"fbc3d150-32d2-11ef-8c48-074c31242816","responseTime":28,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling 200 25ms","method":"POST","requestID":"fbc46d90-32d2-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd73e0322-391e-499e-90a7-ddfca5c14639#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd73e0322-391e-499e-90a7-ddfca5c14639","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"69f94bb7-4b8b-4b0d-a25e-0b6042841602","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0522676} 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff545789-bdb1-4db1-8e5b-7055dd2bc7d0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0525675} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dc354814a32c4dcd2372d0219f31183"},"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:52986","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5be0887d-d156-4754-9435-bccc4adc8df2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.060774} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.810864,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","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/d73e0322-391e-499e-90a7-ddfca5c14639","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbc88c40-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3960fce-8ade-45ce-bde6-23c1eab59b04","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0617182} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.391072,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} gateway-1 | {"time_local":"25/Jun/2024:09:12:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dc354814a32c4dcd2372d0219f31183"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"8dc354814a32c4dcd2372d0219f31183","responseTime":163,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","rebac_allow":false,"scope_allow":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":"fbc8da60-32d2-11ef-8c48-074c31242816"},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling 200 15ms","method":"POST","requestID":"fbc88c40-32d2-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling 200 14ms","method":"POST","requestID":"fbc8da60-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMn0.h0zm1Vd19sT4wJ0SjbbAWsBhToFAIWullFTBnSE0VCY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81f248b42b6ac35938052b4634bcbffc","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:52986","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1dfd191-13e8-45c8-8378-ff106a2cf923","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0759835} authorization-1 | {"client_addr":"127.0.0.1:57500","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.081523,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306722,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMn0.h0zm1Vd19sT4wJ0SjbbAWsBhToFAIWullFTBnSE0VCY"} 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":"81f248b42b6ac35938052b4634bcbffc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.007635,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","rebac_allow":false,"scope_allow":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":"fbcb4b60-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.706121286Z"}]},"request_id":"540b6c49-0d6a-447a-9180-f85f5d710975","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0811415} 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":"81f248b42b6ac35938052b4634bcbffc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling 200 14ms","method":"POST","requestID":"fbcb4b60-32d2-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Building connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"02ee330e-e2d2-447d-b8d2-24feb8a71c6a"},{"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":"6d6edb04-996e-40b9-9501-ba114d202bd5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8df75d5e-f92a-4679-a0dd-de87d7e51ed6"}]},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53"},{"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/a64f1b91-a963-438e-9483-949fe96c530f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"25/Jun/2024:09:12:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81f248b42b6ac35938052b4634bcbffc"} device-1 | {"level":"info","message":"GET /devices/b37cf2cf-a11b-4b76-b297-268d976b2d53? 200 14ms","method":"GET","requestID":"81f248b42b6ac35938052b4634bcbffc","responseTime":14,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMn0.h0zm1Vd19sT4wJ0SjbbAWsBhToFAIWullFTBnSE0VCY","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.823874,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8180b2fd13ab0ee0c526f435df5a37f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306721,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMX0.xdQGf1_7mDRIvT2IArcDriwr4IBQZaqcPTeSQimTrZo"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"fbcde370-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135284,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306722,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyMn0.h0zm1Vd19sT4wJ0SjbbAWsBhToFAIWullFTBnSE0VCY"} 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":"e8180b2fd13ab0ee0c526f435df5a37f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"f7e3852c-63f9-42aa-a168-18209651a5fc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.098553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73f5d793-89a4-4eca-8a10-2232a2fcc328","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.0987778} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:11:59.747211885Z"}]},"request_id":"f8cf3d8e-b591-42f9-99d2-6f767837f0f5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.099291} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbcde370-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8180b2fd13ab0ee0c526f435df5a37f"},"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":"25/Jun/2024:09:12:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a64f1b91-a963-438e-9483-949fe96c530f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8180b2fd13ab0ee0c526f435df5a37f"} device-1 | {"level":"info","message":"GET /devices/a64f1b91-a963-438e-9483-949fe96c530f? 200 16ms","method":"GET","requestID":"e8180b2fd13ab0ee0c526f435df5a37f","responseTime":16,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f?"} 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/61c0863f-1103-4b11-9cea-c1ad70bf2bed'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed'"} 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 29ms","method":"POST","requestID":"fbcde370-32d2-11ef-8c48-074c31242816","responseTime":29,"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/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0852704-132e-4030-b623-70fefdc69a1c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.1504219} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66635,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","rebac_allow":false,"scope_allow":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":"fbd6e420-32d2-11ef-8c48-074c31242816"},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling 200 8ms","method":"POST","requestID":"fbd6e420-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"136f920f-db41-4ed4-a621-be93981f17ff","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306722.160477} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.293443,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbd86ac0-32d2-11ef-8c48-074c31242816"},"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/a64f1b91-a963-438e-9483-949fe96c530f/signaling 200 8ms","method":"POST","requestID":"fbd86ac0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling"} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","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/61c0863f-1103-4b11-9cea-c1ad70bf2bed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","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":"79b667363113e825188279ada2a0d737","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/b37cf2cf-a11b-4b76-b297-268d976b2d53"},{"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/a64f1b91-a963-438e-9483-949fe96c530f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"79b667363113e825188279ada2a0d737","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"79b667363113e825188279ada2a0d737"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f'"} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","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/61c0863f-1103-4b11-9cea-c1ad70bf2bed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","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":"3edd60de825cf3449a2f62fa6432969c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53"},{"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/a64f1b91-a963-438e-9483-949fe96c530f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F61c0863f-1103-4b11-9cea-c1ad70bf2bed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bef034aa-29f1-493b-b6a7-3d6c220023c5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.2712362} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.034274,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd1a3990-32d2-11ef-8c48-074c31242816"},"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/61c0863f-1103-4b11-9cea-c1ad70bf2bed 200 10ms","method":"GET","requestID":"fd1a3990-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"3edd60de825cf3449a2f62fa6432969c","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"3edd60de825cf3449a2f62fa6432969c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8564149e-73b0-4fe1-955d-e4fabaed8f7f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.3052566} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.148432,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","rebac_allow":false,"scope_allow":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":"fd1f42a0-32d2-11ef-8c48-074c31242816"},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling 200 13ms","method":"POST","requestID":"fd1f42a0-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b5422f8-c01b-427b-b783-18d7010dd23d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.3185961} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408244,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","rebac_allow":false,"scope_allow":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":"fd218c90-32d2-11ef-8c48-074c31242816"},"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/a64f1b91-a963-438e-9483-949fe96c530f/signaling 200 11ms","method":"POST","requestID":"fd218c90-32d2-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"aa041290e53b8a3cb51d5d4bf6fc0dae","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d73e0322-391e-499e-90a7-ddfca5c14639"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.282156,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306724,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI"} 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":"aa041290e53b8a3cb51d5d4bf6fc0dae"},"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/d73e0322-391e-499e-90a7-ddfca5c14639"} gateway-1 | {"time_local":"25/Jun/2024:09:12:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d73e0322-391e-499e-90a7-ddfca5c14639 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa041290e53b8a3cb51d5d4bf6fc0dae"} experiment-1 | {"level":"info","message":"GET /experiments/d73e0322-391e-499e-90a7-ddfca5c14639 200 18ms","method":"GET","requestID":"aa041290e53b8a3cb51d5d4bf6fc0dae","responseTime":18,"status":200,"url":"/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"623f38f99bd5a00b9c2a922d2dcbb8aa","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d73e0322-391e-499e-90a7-ddfca5c14639"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.373178,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306724,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI"} 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":"623f38f99bd5a00b9c2a922d2dcbb8aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.190233,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306724,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI"} 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":"fd2e84e0-32d2-11ef-8c48-074c31242816"},"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/61c0863f-1103-4b11-9cea-c1ad70bf2bed' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F61c0863f-1103-4b11-9cea-c1ad70bf2bed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F61c0863f-1103-4b11-9cea-c1ad70bf2bed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"76860c7e-8f6c-45c4-9363-4b3c3d1a4107","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.4234612} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"63363029d178dcc10f6552bee5fb04f2","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53"},{"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/a64f1b91-a963-438e-9483-949fe96c530f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"92edb7634b278e3aa117c17729650ca1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53"},{"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/a64f1b91-a963-438e-9483-949fe96c530f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed"}}},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65f957a9-c30b-4eae-820b-18532365f58f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.4241168} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd2e84e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"data":{"peerconnection":"61c0863f-1103-4b11-9cea-c1ad70bf2bed","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/61c0863f-1103-4b11-9cea-c1ad70bf2bed 204 48ms","method":"DELETE","requestID":"fd2e84e0-32d2-11ef-8c48-074c31242816","responseTime":48,"status":204,"url":"/peerconnections/61c0863f-1103-4b11-9cea-c1ad70bf2bed"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb37cf2cf-a11b-4b76-b297-268d976b2d53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78abfbcf-5cd9-4d8a-ad99-719a1d0abe15","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.4747417} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513764,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53","object_type":"device","rebac_allow":false,"scope_allow":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":"fd395a50-32d2-11ef-8c48-074c31242816"},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling 200 12ms","method":"POST","requestID":"fd395a50-32d2-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/b37cf2cf-a11b-4b76-b297-268d976b2d53/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd73e0322-391e-499e-90a7-ddfca5c14639': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd73e0322-391e-499e-90a7-ddfca5c14639","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"9f61bc79-5171-42a5-8595-3a95e18d20d2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.4829652} 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df5e9a4d-a75c-45f6-a366-67b105418b7e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.4840481} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"623f38f99bd5a00b9c2a922d2dcbb8aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa64f1b91-a963-438e-9483-949fe96c530f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c44a8921-66ea-49eb-9235-9287fc70b957","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.4922702} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.063197,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f","object_type":"device","rebac_allow":false,"scope_allow":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":"fd3bcb50-32d2-11ef-8c48-074c31242816"},"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/a64f1b91-a963-438e-9483-949fe96c530f/signaling 200 13ms","method":"POST","requestID":"fd3bcb50-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/a64f1b91-a963-438e-9483-949fe96c530f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d73e0322-391e-499e-90a7-ddfca5c14639"} gateway-1 | {"time_local":"25/Jun/2024:09:12:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d73e0322-391e-499e-90a7-ddfca5c14639 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"623f38f99bd5a00b9c2a922d2dcbb8aa"} gateway-1 | {"time_local":"25/Jun/2024:09:12:04 +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.240","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"736cbddec14b84cf9d125508ab9b1155"} experiment-1 | {"level":"info","message":"DELETE /experiments/d73e0322-391e-499e-90a7-ddfca5c14639 204 165ms","method":"DELETE","requestID":"623f38f99bd5a00b9c2a922d2dcbb8aa","responseTime":165,"status":204,"url":"/experiments/d73e0322-391e-499e-90a7-ddfca5c14639"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 124ms","method":"POST","requestID":"63363029d178dcc10f6552bee5fb04f2","responseTime":124,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"63363029d178dcc10f6552bee5fb04f2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"92edb7634b278e3aa117c17729650ca1","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"92edb7634b278e3aa117c17729650ca1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22ebc6acddc6c95e232df854df824046","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.832462,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306724,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI"} gateway-1 | {"time_local":"25/Jun/2024:09:12:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.761","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"658d65792f5b35bd8dc565529e08a2d1"} 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":"22ebc6acddc6c95e232df854df824046"},"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/b37cf2cf-a11b-4b76-b297-268d976b2d53' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"af77dcad-e7c4-4526-b0a5-8f8d903e0ecc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.576234} 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":"22ebc6acddc6c95e232df854df824046"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a79fbaf6-9c2f-499e-98e4-eb62b45b228a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.5808735} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a64f1b91-a963-438e-9483-949fe96c530f' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22ebc6acddc6c95e232df854df824046"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"92a0cc0f-0687-45dd-b221-5bd41c7bf1d5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.5915642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"478d3341-ab62-49e8-93d0-7471b132af95","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.5917203} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22ebc6acddc6c95e232df854df824046"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"4b5570e9-13f9-4f89-824f-4d9f8e01346c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.5959644} 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":"22ebc6acddc6c95e232df854df824046"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"22ebc6acddc6c95e232df854df824046","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22ebc6acddc6c95e232df854df824046"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f756919318f5d2bada212c82d8da4aa0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.709652,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306724,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNH0.LF-AHXTq4Ora8G56CcrlHMdhkMvPUIYZI7gUvITKLeI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f756919318f5d2bada212c82d8da4aa0"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c8bb6ccf-509e-4f96-9bf0-49f7362f280a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.6245413} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f756919318f5d2bada212c82d8da4aa0"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8d52a65-58b5-4072-b2d6-116183e60984","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.6290627} 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":"f756919318f5d2bada212c82d8da4aa0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"fddfc58b-f980-4032-9af3-4cf4129ec7e5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.6385372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"490ffa80-d1a9-415c-9bc5-9925f81f89b1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.638714} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f756919318f5d2bada212c82d8da4aa0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.638506411Z"}]},"request_id":"bf9c635c-a9ff-4425-a8a6-3e4e0a53af5c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306724.6427286} 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":"f756919318f5d2bada212c82d8da4aa0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f756919318f5d2bada212c82d8da4aa0"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"f756919318f5d2bada212c82d8da4aa0","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNX0.QfsAfJLJwpvuNZvmZlu_fpVBz2nP7zhHd_nod5nwCD0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5a9d263794e67fc3513e4675f3800f05","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:05Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7836,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306725,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNX0.QfsAfJLJwpvuNZvmZlu_fpVBz2nP7zhHd_nod5nwCD0"} 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":"5a9d263794e67fc3513e4675f3800f05"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"ac5d24c6-c7c9-4a22-bad6-21cec69fda86","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306725.13614} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a9d263794e67fc3513e4675f3800f05"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc3fddc2-3273-4e3e-a61f-a7e6cac49f35","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306725.142286} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a9d263794e67fc3513e4675f3800f05"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"13879d9f-9a2a-46e8-ac88-578a8e410959","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306725.16384} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5a9d263794e67fc3513e4675f3800f05"},"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":"25/Jun/2024:09:12:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9328815a-041b-44f7-80be-f706dfab21b8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5a9d263794e67fc3513e4675f3800f05"} device-1 | {"level":"info","message":"PATCH /devices/9328815a-041b-44f7-80be-f706dfab21b8 200 41ms","method":"PATCH","requestID":"5a9d263794e67fc3513e4675f3800f05","responseTime":41,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNX0.QfsAfJLJwpvuNZvmZlu_fpVBz2nP7zhHd_nod5nwCD0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa1a6ec44855f415511ec71e3278c188","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:05Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127733,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306725,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNX0.QfsAfJLJwpvuNZvmZlu_fpVBz2nP7zhHd_nod5nwCD0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa1a6ec44855f415511ec71e3278c188"},"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":"25/Jun/2024:09:12:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9328815a-041b-44f7-80be-f706dfab21b8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"aa1a6ec44855f415511ec71e3278c188"} device-1 | {"level":"info","message":"POST /devices/9328815a-041b-44f7-80be-f706dfab21b8/websocket 200 16ms","method":"POST","requestID":"aa1a6ec44855f415511ec71e3278c188","responseTime":16,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8' 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":"1961ee62faa67a301f1715fd26bb0533","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/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":"1961ee62faa67a301f1715fd26bb0533"} device-1 | {"level":"info","message":"OPTIONS /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/websocket 200 1ms","method":"OPTIONS","requestID":"1961ee62faa67a301f1715fd26bb0533","responseTime":1,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8277dfe87a3a53342d1393d46e82f02","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.196345,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"c8277dfe87a3a53342d1393d46e82f02"},"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":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/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":"c8277dfe87a3a53342d1393d46e82f02"} device-1 | {"level":"info","message":"POST /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/websocket 200 26ms","method":"POST","requestID":"c8277dfe87a3a53342d1393d46e82f02","responseTime":26,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4240cec002ae5e17f62b73fa1b3fe672","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.166447,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4240cec002ae5e17f62b73fa1b3fe672"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"157e4198-5854-4c91-8dca-4b503e4db013","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.7074106} 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":"4240cec002ae5e17f62b73fa1b3fe672"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9328815a-041b-44f7-80be-f706dfab21b8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4240cec002ae5e17f62b73fa1b3fe672"} device-1 | {"level":"info","message":"GET /devices/9328815a-041b-44f7-80be-f706dfab21b8? 200 23ms","method":"GET","requestID":"4240cec002ae5e17f62b73fa1b3fe672","responseTime":23,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5e52a0fd022236ead2b797954c5ff828","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.685961,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"5e52a0fd022236ead2b797954c5ff828"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.638506411Z"}]},"request_id":"7b1225e2-d52d-4937-90f6-d0f8d43b920d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.7407246} 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":"5e52a0fd022236ead2b797954c5ff828"},"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":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5e52a0fd022236ead2b797954c5ff828"} device-1 | {"level":"info","message":"GET /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2? 200 20ms","method":"GET","requestID":"5e52a0fd022236ead2b797954c5ff828","responseTime":20,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"91c5701112f5c988f6b928d6b420ee9f","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:52986","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.261456,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"91c5701112f5c988f6b928d6b420ee9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"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:52986","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232019,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"fe9cbae0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.215886,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"fe9d0900-32d2-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"08c794a8-a948-4c14-86d6-514cc837a6ad","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.8110836} 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":"fe9cbae0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.638506411Z"}]},"request_id":"a6fecb00-7355-4825-b062-2b22a7e2fc16","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.817548} device-1 | {"level":"info","message":"GET /devices/9328815a-041b-44f7-80be-f706dfab21b8? 200 20ms","method":"GET","requestID":"fe9cbae0-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe9d0900-32d2-11ef-8c48-074c31242816"},"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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2? 200 23ms","method":"GET","requestID":"fe9d0900-32d2-11ef-8c48-074c31242816","responseTime":23,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"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/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.876494,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"fea8c8d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.221273,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"fea916f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"client_addr":"127.0.0.1:57542","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57542","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.314389,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"4f0ce7f6-8beb-4711-8c7a-5cb4fc79882f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9030347} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a78c2684-0f72-4a8c-aebb-a92573a1d04f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9031749} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.638506411Z"}]},"request_id":"958245bb-bc28-434d-80a2-3418ce5b484c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9056606} 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":"fea8c8d0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","rebac_allow":false,"scope_allow":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":"fea98c20-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9328815a-041b-44f7-80be-f706dfab21b8? 200 40ms","method":"GET","requestID":"fea8c8d0-32d2-11ef-8c48-074c31242816","responseTime":40,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8?"} 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":"fea916f0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f04ac41-8d1d-46ed-929b-74439caf160b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f04ac41-8d1d-46ed-929b-74439caf160b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"11752d28-ba37-40c9-8caa-443582542cd4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9190466} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling 200 41ms","method":"POST","requestID":"fea98c20-32d2-11ef-8c48-074c31242816","responseTime":41,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3c70884-e77e-4113-bf74-0eec1875b911","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9211094} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2? 200 46ms","method":"GET","requestID":"fea916f0-32d2-11ef-8c48-074c31242816","responseTime":46,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2?"} 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":"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":"91c5701112f5c988f6b928d6b420ee9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":39}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c38048ec-0a39-4361-bebb-274fd60f60f7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.933503} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91c5701112f5c988f6b928d6b420ee9f"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.700506,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 181ms","method":"POST","requestID":"91c5701112f5c988f6b928d6b420ee9f","responseTime":181,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","rebac_allow":false,"scope_allow":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":"feb042e0-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73b31ee3-e44d-4b03-8815-fcc685887b30","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9371567} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.200618,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","rebac_allow":false,"scope_allow":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":"feb09100-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d437b68a50c30290e80baa2d3f65fb94","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling 200 18ms","method":"POST","requestID":"feb042e0-32d2-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling 200 20ms","method":"POST","requestID":"feb09100-32d2-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909357,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d437b68a50c30290e80baa2d3f65fb94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.591531798Z"}]},"request_id":"ee69ff1e-84b3-47c3-860c-b97c602f48cd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9563813} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83dabc7e-cfd0-442c-a6ee-0996c6ab1381","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9564204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d437b68a50c30290e80baa2d3f65fb94"},"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:52986","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.029183,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","rebac_allow":false,"scope_allow":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":"feb41370-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9328815a-041b-44f7-80be-f706dfab21b8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d437b68a50c30290e80baa2d3f65fb94"} device-1 | {"level":"info","message":"GET /devices/9328815a-041b-44f7-80be-f706dfab21b8? 200 17ms","method":"GET","requestID":"d437b68a50c30290e80baa2d3f65fb94","responseTime":17,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling 200 13ms","method":"POST","requestID":"feb41370-32d2-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"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":"a2c43cab-8848-4bd5-96d8-e5a52c3ca56f"},{"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":"67de8252-20fc-4bab-8a1a-ffc859e136e1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"086af3c9-8292-44b5-87d3-bf7496aab94f"}]},"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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2"},{"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/9328815a-041b-44f7-80be-f706dfab21b8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd9b58a798d2aefd01bc6a5bc5dbf1b6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.711164,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} 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":"feb68470-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625929,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306726,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyNn0.x0fdw3iXePyzUb-9-uzJjlTFPYsopaxSmgpx8DYN4Rk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd9b58a798d2aefd01bc6a5bc5dbf1b6"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:04.638506411Z"}]},"request_id":"b904994b-4035-436c-b171-b9ed276aeff1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9774582} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd9b58a798d2aefd01bc6a5bc5dbf1b6"},"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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2? 200 12ms","method":"GET","requestID":"bd9b58a798d2aefd01bc6a5bc5dbf1b6","responseTime":12,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd9b58a798d2aefd01bc6a5bc5dbf1b6"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"70971881-99e6-46c7-a74c-8f37b7131f28","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.9813957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"729f72c5-e9e9-4826-8f77-e73c0e506741","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306726.981686} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feb68470-32d2-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08'"} 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 28ms","method":"POST","requestID":"feb68470-32d2-11ef-8c48-074c31242816","responseTime":28,"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/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:07Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1165d6f3-92bf-4a53-85c4-a3116202818a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306727.0260646} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.174415,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"febee8e0-32d2-11ef-8c48-074c31242816"},"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/9328815a-041b-44f7-80be-f706dfab21b8/signaling 200 8ms","method":"POST","requestID":"febee8e0-32d2-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:07Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36f9320f-6b30-4e6e-902a-b5cb5e1bf2c8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306727.0369313} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.686194,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","rebac_allow":false,"scope_allow":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":"fec06f80-32d2-11ef-8c48-074c31242816"},"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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling 200 10ms","method":"POST","requestID":"fec06f80-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling"} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","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/36f458f1-0dae-49d5-b68f-137626ff6e08' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2db03cfa8ecf246cf5fd319891d845e","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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2"},{"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/9328815a-041b-44f7-80be-f706dfab21b8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"e2db03cfa8ecf246cf5fd319891d845e","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2db03cfa8ecf246cf5fd319891d845e"} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","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/36f458f1-0dae-49d5-b68f-137626ff6e08' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","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":"08445b6124af51d1ed7ca27955478121","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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2"},{"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/9328815a-041b-44f7-80be-f706dfab21b8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F36f458f1-0dae-49d5-b68f-137626ff6e08","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baab493d-2f4d-4bd2-a95e-75c224751a04","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.1239238} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.729821,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08","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":"fffebbe0-32d2-11ef-8c48-074c31242816"},"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/36f458f1-0dae-49d5-b68f-137626ff6e08 200 10ms","method":"GET","requestID":"fffebbe0-32d2-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"08445b6124af51d1ed7ca27955478121","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"08445b6124af51d1ed7ca27955478121"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30d4debf-486f-4c1c-984a-8b2f8da808c5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.1626713} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.081442,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","rebac_allow":false,"scope_allow":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":"00048840-32d3-11ef-8c48-074c31242816"},"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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling 200 12ms","method":"POST","requestID":"00048840-32d3-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef5dab3f-0cd5-4035-bd35-fbd699396fce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.1758118} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.637468,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","rebac_allow":false,"scope_allow":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":"0006ab20-32d3-11ef-8c48-074c31242816"},"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/9328815a-041b-44f7-80be-f706dfab21b8/signaling 200 12ms","method":"POST","requestID":"0006ab20-32d3-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e7cd2a2fa30f69b7d599c024025b8382","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.449974,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} 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":"e7cd2a2fa30f69b7d599c024025b8382"},"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/2f04ac41-8d1d-46ed-929b-74439caf160b"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7cd2a2fa30f69b7d599c024025b8382"} experiment-1 | {"level":"info","message":"GET /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b 200 15ms","method":"GET","requestID":"e7cd2a2fa30f69b7d599c024025b8382","responseTime":15,"status":200,"url":"/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4374d2ed26c41542c49c468ccb6e459c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.290642,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} 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":"4374d2ed26c41542c49c468ccb6e459c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.300193,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} 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":"0013a370-32d3-11ef-8c48-074c31242816"},"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/36f458f1-0dae-49d5-b68f-137626ff6e08' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","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":"89ea4a34ccb4a8d9d5837c70d33b4712","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","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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2"},{"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/9328815a-041b-44f7-80be-f706dfab21b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c06631e7a47289a448f3aaaed854ad92","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/d8bc5882-b7c7-43ef-82d9-7638b864f6c2"},{"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/9328815a-041b-44f7-80be-f706dfab21b8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F36f458f1-0dae-49d5-b68f-137626ff6e08': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F36f458f1-0dae-49d5-b68f-137626ff6e08","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"59e5fa70-9e4a-42c6-974b-455c8f1a564d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.2872984} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e53263ab-529c-477e-acf0-552b971128a6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.2876983} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0013a370-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"data":{"peerconnection":"36f458f1-0dae-49d5-b68f-137626ff6e08","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/36f458f1-0dae-49d5-b68f-137626ff6e08 204 51ms","method":"DELETE","requestID":"0013a370-32d3-11ef-8c48-074c31242816","responseTime":51,"status":204,"url":"/peerconnections/36f458f1-0dae-49d5-b68f-137626ff6e08"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd8bc5882-b7c7-43ef-82d9-7638b864f6c2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"471cf522-08fc-4285-98a1-9b1c6d551ee4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.336629} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.460378,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2","object_type":"device","rebac_allow":false,"scope_allow":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":"001eee10-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f04ac41-8d1d-46ed-929b-74439caf160b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2f04ac41-8d1d-46ed-929b-74439caf160b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"3a1c4537-1dff-41da-8f07-f92d36e67600","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.343716} device-1 | {"level":"info","message":"POST /devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling 200 15ms","method":"POST","requestID":"001eee10-32d3-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2/signaling"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c257517-bf66-4d56-a333-f745ffdb2b01","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.344541} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4374d2ed26c41542c49c468ccb6e459c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9328815a-041b-44f7-80be-f706dfab21b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39e611c5-f5a7-4c75-9439-ec5ac387b151","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.3559625} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.125925,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8","object_type":"device","rebac_allow":false,"scope_allow":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":"0021d440-32d3-11ef-8c48-074c31242816"},"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/9328815a-041b-44f7-80be-f706dfab21b8/signaling 200 16ms","method":"POST","requestID":"0021d440-32d3-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/9328815a-041b-44f7-80be-f706dfab21b8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4374d2ed26c41542c49c468ccb6e459c"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2799","request_time":"4.229","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d6281db4aeb60438b030be012a37f80e"} experiment-1 | {"level":"info","message":"DELETE /experiments/2f04ac41-8d1d-46ed-929b-74439caf160b 204 184ms","method":"DELETE","requestID":"4374d2ed26c41542c49c468ccb6e459c","responseTime":184,"status":204,"url":"/experiments/2f04ac41-8d1d-46ed-929b-74439caf160b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"89ea4a34ccb4a8d9d5837c70d33b4712","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"89ea4a34ccb4a8d9d5837c70d33b4712"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"c06631e7a47289a448f3aaaed854ad92","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"c06631e7a47289a448f3aaaed854ad92"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e8c3eb9cb2e3c8fe273de6459f1ddc20","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.047767,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} 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":"e8c3eb9cb2e3c8fe273de6459f1ddc20"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9328815a-041b-44f7-80be-f706dfab21b8' closed"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.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":"a2516e8c93b5e26207b67ab16263941b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6aa1928d-7ec6-4105-8e2f-3433044981f8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.4510245} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8c3eb9cb2e3c8fe273de6459f1ddc20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d8bc5882-b7c7-43ef-82d9-7638b864f6c2' 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0e5040d-980a-4ece-a9e0-9f9077e58bcf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.4570222} 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":"e8c3eb9cb2e3c8fe273de6459f1ddc20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1de520fa-44a2-40d1-a6e6-f16a395995ba","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.4731073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"055d353e-4ac0-40cf-b648-660f8f3ad24f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.4733746} 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":"e8c3eb9cb2e3c8fe273de6459f1ddc20"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"32cf9b1e-6745-41a8-b9ac-6aa4be986167","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.4780235} 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":"e8c3eb9cb2e3c8fe273de6459f1ddc20"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"e8c3eb9cb2e3c8fe273de6459f1ddc20","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8c3eb9cb2e3c8fe273de6459f1ddc20"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"215b0316669d46ad719292a291c62d99","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873316,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"215b0316669d46ad719292a291c62d99"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0cc96086-c46b-4ffa-bca9-ecfb2371599c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.5042255} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"215b0316669d46ad719292a291c62d99"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32eb1b09-5432-436e-8371-a815095e14c3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.5089204} 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":"215b0316669d46ad719292a291c62d99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"d0125be8-ca3c-464d-94d5-dc622f3f4cd7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.5193152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82ed524b-3e88-425f-bb03-5bc0b6108c56","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.519418} 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":"215b0316669d46ad719292a291c62d99"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"99bf9001-52fc-43f1-a5f0-5e9d26b67676","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306729.5240045} 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":"215b0316669d46ad719292a291c62d99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"215b0316669d46ad719292a291c62d99","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"215b0316669d46ad719292a291c62d99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"87c756a0c4011864f14b3418f2ef372c","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3ece5eab34129ab5f457c0f0bd59fcc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724236,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87c756a0c4011864f14b3418f2ef372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852858,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306729,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjcyOX0.d2lYNM8SAXcZ1yvBJRXk_OXkBSIbAOytfjqUEeqnQyE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3ece5eab34129ab5f457c0f0bd59fcc"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"7ddb30b8-8ff2-4ebb-b736-b59524a0c241","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.0120597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87c756a0c4011864f14b3418f2ef372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"798758dc-dbbe-4a08-97c9-ff60528ee639","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.01334} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3ece5eab34129ab5f457c0f0bd59fcc"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b52bd23-abe5-430a-b622-f96953cb92d0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.0180466} 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":"87c756a0c4011864f14b3418f2ef372c"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8cca6d1a-7530-477d-a068-3a52a0073912","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.0224864} 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":"f3ece5eab34129ab5f457c0f0bd59fcc"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"7f30a85c-5dd9-4e8e-b93b-789326db4852","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.0273957} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3ece5eab34129ab5f457c0f0bd59fcc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb 200 28ms","method":"PATCH","requestID":"f3ece5eab34129ab5f457c0f0bd59fcc","responseTime":28,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f3ece5eab34129ab5f457c0f0bd59fcc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc0bf1e1683324c68c638e7ee1a44157","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"2f7cf3bc-72d3-481d-a936-6dd44f0ac9f2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.037383} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87c756a0c4011864f14b3418f2ef372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"87c756a0c4011864f14b3418f2ef372c"} device-1 | {"level":"info","message":"PATCH /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310 200 42ms","method":"PATCH","requestID":"87c756a0c4011864f14b3418f2ef372c","responseTime":42,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.489073,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc0bf1e1683324c68c638e7ee1a44157"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b5a7ee0d87333b3315569aa2afd5d282","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093977,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b5a7ee0d87333b3315569aa2afd5d282"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb/websocket 200 22ms","method":"POST","requestID":"bc0bf1e1683324c68c638e7ee1a44157","responseTime":22,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"bc0bf1e1683324c68c638e7ee1a44157"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b5a7ee0d87333b3315569aa2afd5d282"} device-1 | {"level":"info","message":"POST /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/websocket 200 18ms","method":"POST","requestID":"b5a7ee0d87333b3315569aa2afd5d282","responseTime":18,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2727bf25bb2b490bc08d990da46e362e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.231866,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2727bf25bb2b490bc08d990da46e362e"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"538dc3c0-ceb0-42d6-8a96-40cfafeb9ddf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.0974693} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2727bf25bb2b490bc08d990da46e362e"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb? 200 15ms","method":"GET","requestID":"2727bf25bb2b490bc08d990da46e362e","responseTime":15,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2727bf25bb2b490bc08d990da46e362e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1924ec693df1aa84eb0fbb7310b7d366","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.283916,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1924ec693df1aa84eb0fbb7310b7d366"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"6c4e8c80-0012-4296-9eb2-ceb80c5f7871","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.118702} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1924ec693df1aa84eb0fbb7310b7d366"},"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":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1924ec693df1aa84eb0fbb7310b7d366"} device-1 | {"level":"info","message":"GET /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310? 200 15ms","method":"GET","requestID":"1924ec693df1aa84eb0fbb7310b7d366","responseTime":15,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"56c86209e76861b38a109886353d2e2e","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:52986","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.732164,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} 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":"56c86209e76861b38a109886353d2e2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"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:52986","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178461,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"009f68b0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.259673,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"009fb6d0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"ae6753fb-1c9e-405f-8073-fff718ab4e24","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.1839323} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"009f68b0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"74fea025-5a94-482d-8d2b-af2af3c3605d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.1854074} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"009fb6d0-32d3-11ef-8c48-074c31242816"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb? 200 21ms","method":"GET","requestID":"009f68b0-32d3-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310? 200 21ms","method":"GET","requestID":"009fb6d0-32d3-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"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:52986","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964434,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} 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":"00a953c0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.95888,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00a97ad0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.127943,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"332c1cb3-fe18-4cf4-99ad-1f21f6f5299c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2459595} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","rebac_allow":false,"scope_allow":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":"00a9c8f0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"ed013be4-f674-403e-9dd0-b4da9e812756","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2481523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"426769ac-1109-49e2-8cf6-4a85c6a95280","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2493947} 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":"00a953c0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00a97ad0-32d3-11ef-8c48-074c31242816"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling 200 14ms","method":"POST","requestID":"00a9c8f0-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb? 200 22ms","method":"GET","requestID":"00a953c0-32d3-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310? 200 22ms","method":"GET","requestID":"00a97ad0-32d3-11ef-8c48-074c31242816","responseTime":22,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cd342cb-0251-4867-963d-ce38ce751f7e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2609649} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.966552,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","rebac_allow":false,"scope_allow":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":"00ac39f0-32d3-11ef-8c48-074c31242816"},"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/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling 200 10ms","method":"POST","requestID":"00ac39f0-32d3-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe98140ba-44ae-49a8-bb4a-22394d82b58e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe98140ba-44ae-49a8-bb4a-22394d82b58e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"14f05f1c-89f5-490e-b1ce-fcf73670e811","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2652586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eae6c8f4-fe38-424e-989c-bd5df0764c17","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2655654} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56c86209e76861b38a109886353d2e2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44927c01-6a97-4560-ac2c-ba717536e075","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2699776} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.152675,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","rebac_allow":false,"scope_allow":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":"00ad4b60-32d3-11ef-8c48-074c31242816"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling 200 13ms","method":"POST","requestID":"00ad4b60-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"56c86209e76861b38a109886353d2e2e","responseTime":145,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56c86209e76861b38a109886353d2e2e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"61bafdcc1e59c78f57be11f0ff4ed4b9","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c7bef46-4c8c-4c86-a749-0b9f529a13cc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.283072} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.136012,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00afbc60-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627226,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61bafdcc1e59c78f57be11f0ff4ed4b9"},"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/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling 200 10ms","method":"POST","requestID":"00afbc60-32d3-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.473070103Z"}]},"request_id":"35d83f5a-2bf5-473b-b20d-345c053611bf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.2893949} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"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":"f6586b14-4f6c-45e3-9afe-1b56270a3a67"},{"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":"5130f947-eed5-4003-a8d6-4b5ee3aba330"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ac004892-9bd7-4341-9aea-c682ef0f3d81"}]},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb"},{"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/282bb2fd-2a1e-4661-951f-a321d1ae1310"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61bafdcc1e59c78f57be11f0ff4ed4b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61bafdcc1e59c78f57be11f0ff4ed4b9"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} device-1 | {"level":"info","message":"GET /devices/dc296d30-e463-42a6-ba1a-01c170dae1fb? 200 13ms","method":"GET","requestID":"61bafdcc1e59c78f57be11f0ff4ed4b9","responseTime":13,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.942986,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} 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":"00b1b830-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc78e9dff6b834f4136444235398166b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614304,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306730,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMH0.D5Szsalx2OPsXghx98ROJMUIITxCNwgASZGW1USBe08"} 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":"bc78e9dff6b834f4136444235398166b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"cc4eea84-18ad-4c5f-972d-16b1bfb30bb9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.3060963} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b64c589-c354-4960-a75f-3b30defd7751","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.3062785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:09.519289933Z"}]},"request_id":"551f3d1a-3c61-4f82-8477-ff220d714678","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.3070133} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00b1b830-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc78e9dff6b834f4136444235398166b"},"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/282bb2fd-2a1e-4661-951f-a321d1ae1310? 200 24ms","method":"GET","requestID":"bc78e9dff6b834f4136444235398166b","responseTime":24,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/282bb2fd-2a1e-4661-951f-a321d1ae1310? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc78e9dff6b834f4136444235398166b"} 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/d7788e94-a9e7-4f40-b0dc-d94e8308ac50'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 34ms","method":"POST","requestID":"00b1b830-32d3-11ef-8c48-074c31242816","responseTime":34,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f2db3cda-14d0-478d-99e2-c5539c34b6bd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.3556175} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.611283,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","rebac_allow":false,"scope_allow":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":"00badff0-32d3-11ef-8c48-074c31242816"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling 200 9ms","method":"POST","requestID":"00badff0-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b398b951-6b62-4111-ba9c-50cd20564fb6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306730.3671255} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470308,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","rebac_allow":false,"scope_allow":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":"00bc8da0-32d3-11ef-8c48-074c31242816"},"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/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling 200 9ms","method":"POST","requestID":"00bc8da0-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","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/d7788e94-a9e7-4f40-b0dc-d94e8308ac50' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","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":"793a59f05ef8817dca54c226d9b08448","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb"},{"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/282bb2fd-2a1e-4661-951f-a321d1ae1310"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"793a59f05ef8817dca54c226d9b08448","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"793a59f05ef8817dca54c226d9b08448"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","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/d7788e94-a9e7-4f40-b0dc-d94e8308ac50' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","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":"a2df7c8148e4aec7da80edddb4a00128","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/dc296d30-e463-42a6-ba1a-01c170dae1fb"},{"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/282bb2fd-2a1e-4661-951f-a321d1ae1310"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7788e94-a9e7-4f40-b0dc-d94e8308ac50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ff0a18d-80c7-44a5-ad45-ae0edba4e618","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.4394913} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.289599,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50","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":"01f8b720-32d3-11ef-8c48-074c31242816"},"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/d7788e94-a9e7-4f40-b0dc-d94e8308ac50 200 11ms","method":"GET","requestID":"01f8b720-32d3-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"a2df7c8148e4aec7da80edddb4a00128","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2df7c8148e4aec7da80edddb4a00128"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5609d5d-c50a-4752-aacc-714f040e8179","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.4731686} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.59366,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","rebac_allow":false,"scope_allow":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":"01fd9920-32d3-11ef-8c48-074c31242816"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling 200 13ms","method":"POST","requestID":"01fd9920-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2519a72-702e-40e9-9862-e65c24c178dc","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.4878821} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.202797,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","rebac_allow":false,"scope_allow":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":"02000a20-32d3-11ef-8c48-074c31242816"},"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/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling 200 12ms","method":"POST","requestID":"02000a20-32d3-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"86fe1928603a3032d70cfe07be0fba3d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.298184,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306732,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8"} 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":"86fe1928603a3032d70cfe07be0fba3d"},"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/e98140ba-44ae-49a8-bb4a-22394d82b58e"} gateway-1 | {"time_local":"25/Jun/2024:09:12:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86fe1928603a3032d70cfe07be0fba3d"} experiment-1 | {"level":"info","message":"GET /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e 200 18ms","method":"GET","requestID":"86fe1928603a3032d70cfe07be0fba3d","responseTime":18,"status":200,"url":"/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2b4de9f6c470411cef721776bd77c238","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.210975,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306732,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8"} 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":"2b4de9f6c470411cef721776bd77c238"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.251074,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306732,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8"} 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":"020d2980-32d3-11ef-8c48-074c31242816"},"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/d7788e94-a9e7-4f40-b0dc-d94e8308ac50' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7788e94-a9e7-4f40-b0dc-d94e8308ac50': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd7788e94-a9e7-4f40-b0dc-d94e8308ac50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"1a8cd9a8-e097-4084-a66f-e7c6550bf121","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.5920708} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb1f6e2ef1232644f363e1db49f95c49","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf2b1fed-960f-4229-89bf-78966929289f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.5927062} 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/dc296d30-e463-42a6-ba1a-01c170dae1fb"},{"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/282bb2fd-2a1e-4661-951f-a321d1ae1310"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1fb2fb1e4cca85d098e7b5f562b5c58","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"020d2980-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/dc296d30-e463-42a6-ba1a-01c170dae1fb"},{"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/282bb2fd-2a1e-4661-951f-a321d1ae1310"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d7788e94-a9e7-4f40-b0dc-d94e8308ac50","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/d7788e94-a9e7-4f40-b0dc-d94e8308ac50 204 46ms","method":"DELETE","requestID":"020d2980-32d3-11ef-8c48-074c31242816","responseTime":46,"status":204,"url":"/peerconnections/d7788e94-a9e7-4f40-b0dc-d94e8308ac50"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdc296d30-e463-42a6-ba1a-01c170dae1fb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"caff18ac-a574-4b87-92d4-8614a7e190e7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.6451814} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.308885,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb","object_type":"device","rebac_allow":false,"scope_allow":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":"0217b0d0-32d3-11ef-8c48-074c31242816"},"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/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling 200 15ms","method":"POST","requestID":"0217b0d0-32d3-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe98140ba-44ae-49a8-bb4a-22394d82b58e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe98140ba-44ae-49a8-bb4a-22394d82b58e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"6eec470d-ff59-4bd9-be32-79b9d6fd9dce","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.6548607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fad5ef29-8092-4ff1-99c3-045e6252f246","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.6551738} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b4de9f6c470411cef721776bd77c238"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282bb2fd-2a1e-4661-951f-a321d1ae1310","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ea7ef57-ff58-479c-9e12-d5a8196d5b49","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.6632948} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.935484,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310","object_type":"device","rebac_allow":false,"scope_allow":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":"021a9700-32d3-11ef-8c48-074c31242816"},"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/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling 200 14ms","method":"POST","requestID":"021a9700-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"} gateway-1 | {"time_local":"25/Jun/2024:09:12:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b4de9f6c470411cef721776bd77c238"} gateway-1 | {"time_local":"25/Jun/2024:09:12:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.669","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"62fe7b8dee51b36944ec01875fdcd6b9"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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":"2.661","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d2e5727f9ef06a69d597a0907bf811ec"} experiment-1 | {"level":"info","message":"DELETE /experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e 204 176ms","method":"DELETE","requestID":"2b4de9f6c470411cef721776bd77c238","responseTime":176,"status":204,"url":"/experiments/e98140ba-44ae-49a8-bb4a-22394d82b58e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"bb1f6e2ef1232644f363e1db49f95c49","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb1f6e2ef1232644f363e1db49f95c49"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"b1fb2fb1e4cca85d098e7b5f562b5c58","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1fb2fb1e4cca85d098e7b5f562b5c58"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/282bb2fd-2a1e-4661-951f-a321d1ae1310' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"6ef634ca9b0d5f099139281bb3d64ff1","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.964651,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306732,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dc296d30-e463-42a6-ba1a-01c170dae1fb' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ef634ca9b0d5f099139281bb3d64ff1"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6e96bd9e-4825-47c6-b078-6082c033f694","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.7579997} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ef634ca9b0d5f099139281bb3d64ff1"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb07e511-9b15-4983-a9ab-1ea2e0867e75","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.7641406} 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":"6ef634ca9b0d5f099139281bb3d64ff1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8bce879b-4b32-4389-99f3-cb894ae6aa8c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.7748158} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29543097-22a1-4757-8843-6cf3ec4136fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.7748861} 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":"6ef634ca9b0d5f099139281bb3d64ff1"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"17ced6ad-7124-4115-a004-a6f6426bccfe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.7805483} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ef634ca9b0d5f099139281bb3d64ff1"},"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":"25/Jun/2024:09:12: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.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ef634ca9b0d5f099139281bb3d64ff1"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"6ef634ca9b0d5f099139281bb3d64ff1","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ae4f1cf87d7abb7df55e8f9433cd3d68","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.781359,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306732,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczMn0.sD8gs9gtYZWt6G4advrQ-og0nhYtUPLceaRa2iKECG8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae4f1cf87d7abb7df55e8f9433cd3d68"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"716aeed7-93a5-48c0-a27f-b02ac7ee0fde","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.806478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae4f1cf87d7abb7df55e8f9433cd3d68"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e79f2a3c-c68e-451f-b998-23ec41ae77d3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.8114042} 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":"ae4f1cf87d7abb7df55e8f9433cd3d68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"25cef9f8-974b-4b10-814d-ad706a9461ec","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.8279204} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9868e92-5027-4a04-b440-07ef66fe62c8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.8280072} 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":"ae4f1cf87d7abb7df55e8f9433cd3d68"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"93b37e64-544d-4026-912b-30a6b2247ad7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306732.832523} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae4f1cf87d7abb7df55e8f9433cd3d68"},"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":"25/Jun/2024:09:12: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.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae4f1cf87d7abb7df55e8f9433cd3d68"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"ae4f1cf87d7abb7df55e8f9433cd3d68","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea264de4015520793e3857a0e27e9755","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.600054,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} 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":"ea264de4015520793e3857a0e27e9755"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"b86090e7-3c1e-4680-960b-58b2d210e0be","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.3136873} 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":"ea264de4015520793e3857a0e27e9755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a6f0c41813ea5e47c44781dd86eb57f3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b16a84cc-3d27-4199-be0f-6ff4c462093b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.3182547} 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":"ea264de4015520793e3857a0e27e9755"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728385,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6f0c41813ea5e47c44781dd86eb57f3"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"2f22663f-b709-4244-9521-bb15a0179b01","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.3319442} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ea264de4015520793e3857a0e27e9755"},"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":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7761c924-a724-46b8-9ffe-d2214685d968 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ea264de4015520793e3857a0e27e9755"} device-1 | {"level":"info","message":"PATCH /devices/7761c924-a724-46b8-9ffe-d2214685d968 200 30ms","method":"PATCH","requestID":"ea264de4015520793e3857a0e27e9755","responseTime":30,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"32a86a3d-8fbd-4f61-b512-bd0c28ccd2f7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.333485} 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":"a6f0c41813ea5e47c44781dd86eb57f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c2ab570cc806fbad2cc122475686561","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb77ac99-c0a1-455d-9f92-77935bc03e70","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.3438807} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} 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":"a6f0c41813ea5e47c44781dd86eb57f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.787852,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c2ab570cc806fbad2cc122475686561"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"a8aa98b9-c664-4a0c-9db0-75587bbf2087","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.354762} 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":"a6f0c41813ea5e47c44781dd86eb57f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c 200 39ms","method":"PATCH","requestID":"a6f0c41813ea5e47c44781dd86eb57f3","responseTime":39,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a6f0c41813ea5e47c44781dd86eb57f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"33e041e80914eea574666ce897af8777","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7761c924-a724-46b8-9ffe-d2214685d968/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7c2ab570cc806fbad2cc122475686561"} device-1 | {"level":"info","message":"POST /devices/7761c924-a724-46b8-9ffe-d2214685d968/websocket 200 21ms","method":"POST","requestID":"7c2ab570cc806fbad2cc122475686561","responseTime":21,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937195,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} 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":"33e041e80914eea574666ce897af8777"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.013","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"33e041e80914eea574666ce897af8777"} device-1 | {"level":"info","message":"POST /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/websocket 200 9ms","method":"POST","requestID":"33e041e80914eea574666ce897af8777","responseTime":9,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"157b7944d72f6b44a1d417d6b8eafe67","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919286,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} 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":"157b7944d72f6b44a1d417d6b8eafe67"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"4ecc87c0-c5c9-4247-bc02-76081849bb04","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.3996127} 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":"157b7944d72f6b44a1d417d6b8eafe67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7761c924-a724-46b8-9ffe-d2214685d968? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"157b7944d72f6b44a1d417d6b8eafe67"} device-1 | {"level":"info","message":"GET /devices/7761c924-a724-46b8-9ffe-d2214685d968? 200 10ms","method":"GET","requestID":"157b7944d72f6b44a1d417d6b8eafe67","responseTime":10,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d897064db0789707f71c89882af696a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037803,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} 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":"5d897064db0789707f71c89882af696a"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"2ee6efd4-16c8-43ec-96ce-592ee69270d4","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.414034} 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":"5d897064db0789707f71c89882af696a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d897064db0789707f71c89882af696a"} device-1 | {"level":"info","message":"GET /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c? 200 10ms","method":"GET","requestID":"5d897064db0789707f71c89882af696a","responseTime":10,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5b734f1f68aa12981a981c960ff11a2f","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:52986","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.959794,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} 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":"5b734f1f68aa12981a981c960ff11a2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"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:52986","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.54641,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02945ae0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.889303,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"029481f0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"7418edd1-00d8-43ad-bdae-b7781179d2a8","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.4628892} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02945ae0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"67930a7e-e7ba-403f-906b-f0351c36a440","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.4638247} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"029481f0-32d3-11ef-8c48-074c31242816"},"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/7761c924-a724-46b8-9ffe-d2214685d968? 200 13ms","method":"GET","requestID":"02945ae0-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c? 200 13ms","method":"GET","requestID":"029481f0-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"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/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982114,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"029d82a0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87126,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} 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":"029dd0c0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.409056,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6cb59ce-e50b-4acf-9d12-3c41def62f9d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5244944} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","rebac_allow":false,"scope_allow":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":"029df7d0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"78efa901-850a-4a9a-b0e1-8d6755c55b87","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5257933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"d78cdc41-d7ef-4de2-bc8c-c6fa10f323ab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.527126} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"029d82a0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"029dd0c0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling 200 17ms","method":"POST","requestID":"029df7d0-32d3-11ef-8c48-074c31242816","responseTime":17,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7761c924-a724-46b8-9ffe-d2214685d968? 200 21ms","method":"GET","requestID":"029d82a0-32d3-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c? 200 20ms","method":"GET","requestID":"029dd0c0-32d3-11ef-8c48-074c31242816","responseTime":20,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c2e962d-2a4b-4b8b-ac96-e4982c6dbd8b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5417948} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1958a5ad-ae8c-4ff6-b063-ca26bc6471d5#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"57237eac-9e1d-409f-9858-263a449e0843","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5418642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32b36464-6211-4e0b-a072-1da2d4ace4e0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5421388} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5b734f1f68aa12981a981c960ff11a2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.227052,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3df20bb3-6752-4ab9-a1b1-7e41cb8e3ba2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5451157} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","rebac_allow":false,"scope_allow":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":"02a10510-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.777173,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","rebac_allow":false,"scope_allow":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":"02a15330-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling 200 13ms","method":"POST","requestID":"02a10510-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 128ms","method":"POST","requestID":"5b734f1f68aa12981a981c960ff11a2f","responseTime":128,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b734f1f68aa12981a981c960ff11a2f"} device-1 | {"level":"info","message":"POST /devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling 200 12ms","method":"POST","requestID":"02a15330-32d3-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95c5a9524e1236382e141d9e72f5b855","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf9f6ba8-83c5-4b89-8a8f-5e428091f187","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5586555} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.900182,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107665,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","rebac_allow":false,"scope_allow":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":"02a37610-32d3-11ef-8c48-074c31242816"},"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/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95c5a9524e1236382e141d9e72f5b855"},"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling 200 11ms","method":"POST","requestID":"02a37610-32d3-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Building 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.774774649Z"}]},"request_id":"649de774-a1ba-4115-a822-ded47c739785","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5656054} 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":"e562b637-2e18-42cd-8f92-f2da6d3b8faf"},{"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":"9bac6dd4-6931-4b29-9c2e-f6ebc027d4bc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b96512ab-4c39-46b8-b423-a4a555f6fa63"}]},"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/7761c924-a724-46b8-9ffe-d2214685d968"},{"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95c5a9524e1236382e141d9e72f5b855"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7761c924-a724-46b8-9ffe-d2214685d968? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95c5a9524e1236382e141d9e72f5b855"} device-1 | {"level":"info","message":"GET /devices/7761c924-a724-46b8-9ffe-d2214685d968? 200 14ms","method":"GET","requestID":"95c5a9524e1236382e141d9e72f5b855","responseTime":14,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968?"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.924039,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02a598f0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7eb7dc77693e88e6a9ce209268221543","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906219,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306733,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczM30.J11VOXd42k8YGyhEXL38AVq9B-VaVFpdBGx4AijIlaY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7eb7dc77693e88e6a9ce209268221543"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"621d5f05-6c6b-4ce2-8843-0240aacf9d98","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5795891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99149678-6cef-4f63-bd42-4461a773c02a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5799718} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02a598f0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:12.827885240Z"}]},"request_id":"929ef5ec-5e5d-4c2e-b71f-d2024a5f9fba","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.5838985} 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":"7eb7dc77693e88e6a9ce209268221543"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"02a598f0-32d3-11ef-8c48-074c31242816","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7eb7dc77693e88e6a9ce209268221543"} device-1 | {"level":"info","message":"GET /devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c? 200 20ms","method":"GET","requestID":"7eb7dc77693e88e6a9ce209268221543","responseTime":20,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e629e26f-ebd2-4532-bb2f-3ccd3f8a45b0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.6225038} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.932208,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","rebac_allow":false,"scope_allow":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":"02ad3a10-32d3-11ef-8c48-074c31242816"},"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/7761c924-a724-46b8-9ffe-d2214685d968/signaling 200 9ms","method":"POST","requestID":"02ad3a10-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8fe584f-be78-4e4c-bf82-d6714fa04c22","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306733.6332211} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.293913,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","rebac_allow":false,"scope_allow":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":"02aee7c0-32d3-11ef-8c48-074c31242816"},"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling 200 9ms","method":"POST","requestID":"02aee7c0-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","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/9cd3146e-e302-4613-9c4b-14de9257a475' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","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":"86ef38588c890e7110f44d833c85e1ca","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/7761c924-a724-46b8-9ffe-d2214685d968"},{"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"86ef38588c890e7110f44d833c85e1ca","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"86ef38588c890e7110f44d833c85e1ca"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","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/9cd3146e-e302-4613-9c4b-14de9257a475' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","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":"630f9cfd0e618d4c6bb3fd42e8d8c768","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/7761c924-a724-46b8-9ffe-d2214685d968"},{"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9cd3146e-e302-4613-9c4b-14de9257a475","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0cddeb97-d4c1-4b76-afca-0c3a36455c58","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.713252} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.424289,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475","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":"03ec22b0-32d3-11ef-8c48-074c31242816"},"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/9cd3146e-e302-4613-9c4b-14de9257a475 200 11ms","method":"GET","requestID":"03ec22b0-32d3-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"630f9cfd0e618d4c6bb3fd42e8d8c768","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"630f9cfd0e618d4c6bb3fd42e8d8c768"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09aaeaaa-5cb1-4924-a904-961d9d026a58","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.7475724} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.604666,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","rebac_allow":false,"scope_allow":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":"03f152d0-32d3-11ef-8c48-074c31242816"},"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/7761c924-a724-46b8-9ffe-d2214685d968/signaling 200 13ms","method":"POST","requestID":"03f152d0-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40016d69-18ce-4288-a23e-13abaeca4fdf","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.7614307} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.808664,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","rebac_allow":false,"scope_allow":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":"03f39cc0-32d3-11ef-8c48-074c31242816"},"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling 200 10ms","method":"POST","requestID":"03f39cc0-32d3-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b74efc0cb6e59b85ce56986ed73c461c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.767627,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306735,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI"} 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":"b74efc0cb6e59b85ce56986ed73c461c"},"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/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"} experiment-1 | {"level":"info","message":"GET /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5 200 14ms","method":"GET","requestID":"b74efc0cb6e59b85ce56986ed73c461c","responseTime":14,"status":200,"url":"/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"} gateway-1 | {"time_local":"25/Jun/2024:09:12:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b74efc0cb6e59b85ce56986ed73c461c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb0c2addac1575edd928782b52585370","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.041857,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306735,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI"} 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":"bb0c2addac1575edd928782b52585370"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.013313,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306735,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI"} 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":"03ff0e70-32d3-11ef-8c48-074c31242816"},"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/9cd3146e-e302-4613-9c4b-14de9257a475' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","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":"1f3dc118b46091be7522f63511ea493e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9cd3146e-e302-4613-9c4b-14de9257a475': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9cd3146e-e302-4613-9c4b-14de9257a475","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"b13d0ca0-651c-47ef-a5ce-d32a8af67b78","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.8550327} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec3f64b9ed4e87845d3367b1de4f6cdd","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96fafd55-2c61-4eb6-b728-8cd6b8c6a171","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.8554518} 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/7761c924-a724-46b8-9ffe-d2214685d968"},{"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03ff0e70-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} 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/7761c924-a724-46b8-9ffe-d2214685d968"},{"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9cd3146e-e302-4613-9c4b-14de9257a475","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/9cd3146e-e302-4613-9c4b-14de9257a475 204 45ms","method":"DELETE","requestID":"03ff0e70-32d3-11ef-8c48-074c31242816","responseTime":45,"status":204,"url":"/peerconnections/9cd3146e-e302-4613-9c4b-14de9257a475"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7761c924-a724-46b8-9ffe-d2214685d968","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"59f0a01c-5c4b-4d0f-bf01-67310e703e60","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.9051902} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.257385,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968","object_type":"device","rebac_allow":false,"scope_allow":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":"04092090-32d3-11ef-8c48-074c31242816"},"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/7761c924-a724-46b8-9ffe-d2214685d968/signaling 200 13ms","method":"POST","requestID":"04092090-32d3-11ef-8c48-074c31242816","responseTime":13,"status":200,"url":"/devices/7761c924-a724-46b8-9ffe-d2214685d968/signaling"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1958a5ad-ae8c-4ff6-b063-ca26bc6471d5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1958a5ad-ae8c-4ff6-b063-ca26bc6471d5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"1522eab0-3721-4b83-acd2-2817ec0735f5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.9114761} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db7f9dd0-c105-4f7b-8c2a-d4cc34ed03d0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.9118743} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb0c2addac1575edd928782b52585370"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fddcd5c20-e86a-45e0-9aec-3aa35b38a26c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d925a92-43a5-4ccb-ac70-c4ef9934c31c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306735.9183168} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.008544,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c","object_type":"device","rebac_allow":false,"scope_allow":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":"040b9190-32d3-11ef-8c48-074c31242816"},"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/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling 200 11ms","method":"POST","requestID":"040b9190-32d3-11ef-8c48-074c31242816","responseTime":11,"status":200,"url":"/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"} gateway-1 | {"time_local":"25/Jun/2024:09:12:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb0c2addac1575edd928782b52585370"} gateway-1 | {"time_local":"25/Jun/2024:09:12:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.606","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"13166a73a3ec1b9b69d5cf13d308dda8"} experiment-1 | {"level":"info","message":"DELETE /experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5 204 161ms","method":"DELETE","requestID":"bb0c2addac1575edd928782b52585370","responseTime":161,"status":204,"url":"/experiments/1958a5ad-ae8c-4ff6-b063-ca26bc6471d5"} gateway-1 | {"time_local":"25/Jun/2024:09:12:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.614","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b1925a1014d20cf3c5a764d2fa62ac0f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"1f3dc118b46091be7522f63511ea493e","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f3dc118b46091be7522f63511ea493e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"ec3f64b9ed4e87845d3367b1de4f6cdd","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec3f64b9ed4e87845d3367b1de4f6cdd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI","level":"info","message":"auth send jwt"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ddcd5c20-e86a-45e0-9aec-3aa35b38a26c' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"05c5450cb62e66a91682f95c23793deb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.82719,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306735,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNX0._R7dNOhUg-zunyUNLryjcZTH6h8e6r3qwiofuvCzqlI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05c5450cb62e66a91682f95c23793deb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7761c924-a724-46b8-9ffe-d2214685d968' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"081824ab-aff0-42ad-9419-93ecbf5917fa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.008135} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05c5450cb62e66a91682f95c23793deb"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fddcc012-6eaa-4e70-b4de-01daf132064d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0142112} 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":"05c5450cb62e66a91682f95c23793deb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"8254936e-15bc-498a-b460-2d8cc85054f3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0249474} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1902425f-bfa4-4e7e-96f4-b014f3de79fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.025167} 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":"05c5450cb62e66a91682f95c23793deb"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.024920309Z"}]},"request_id":"9ce2f6f5-7d8d-4418-b7a3-e3dae9f0a108","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0314276} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05c5450cb62e66a91682f95c23793deb"},"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":"25/Jun/2024:09:12:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05c5450cb62e66a91682f95c23793deb"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"05c5450cb62e66a91682f95c23793deb","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNn0.y9o1fqfihkXZA0U47K6y0zFjU8kCrJva1oqYY2M4Bl0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58a8f88289e1d5506d4cc4fe08efa793","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:16Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907932,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306736,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczNn0.y9o1fqfihkXZA0U47K6y0zFjU8kCrJva1oqYY2M4Bl0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a8f88289e1d5506d4cc4fe08efa793"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"555276fd-2993-49a6-8165-2d3e2abcda0f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0547378} 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":"58a8f88289e1d5506d4cc4fe08efa793"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a1839f7-be00-49c2-b97f-a606009deff3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0596316} 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":"58a8f88289e1d5506d4cc4fe08efa793"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"cd5cac94-6f63-4e3d-83ce-6f89f860094b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0762484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aac819a-1428-4f93-abe5-48a86f701ff2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0765398} 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":"58a8f88289e1d5506d4cc4fe08efa793"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.076220315Z"}]},"request_id":"a2a60b0e-633d-4798-b72f-b347dfe1c3da","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306736.0811355} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58a8f88289e1d5506d4cc4fe08efa793"},"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":"25/Jun/2024:09:12:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58a8f88289e1d5506d4cc4fe08efa793"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"58a8f88289e1d5506d4cc4fe08efa793","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"83c3559637606e9b3c73f912fba0eedb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/750ed08e-f886-4995-864d-0aa0de1476be/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":"83c3559637606e9b3c73f912fba0eedb"} device-1 | {"level":"info","message":"OPTIONS /devices/750ed08e-f886-4995-864d-0aa0de1476be/websocket 200 1ms","method":"OPTIONS","requestID":"83c3559637606e9b3c73f912fba0eedb","responseTime":1,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c75b0a36eba649726af9244cba6abf3f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a213450c50fee85a6fbab1253ef06f54","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.390048,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/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":"a213450c50fee85a6fbab1253ef06f54"} device-1 | {"level":"info","message":"OPTIONS /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/websocket 200 1ms","method":"OPTIONS","requestID":"a213450c50fee85a6fbab1253ef06f54","responseTime":1,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/websocket"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c75b0a36eba649726af9244cba6abf3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3f75f6e63b05ac60cef524ad2d53fd5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791632,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3f75f6e63b05ac60cef524ad2d53fd5"},"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":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/750ed08e-f886-4995-864d-0aa0de1476be/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.025","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c75b0a36eba649726af9244cba6abf3f"} device-1 | {"level":"info","message":"POST /devices/750ed08e-f886-4995-864d-0aa0de1476be/websocket 200 21ms","method":"POST","requestID":"c75b0a36eba649726af9244cba6abf3f","responseTime":21,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/websocket 200 20ms","method":"POST","requestID":"d3f75f6e63b05ac60cef524ad2d53fd5","responseTime":20,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d3f75f6e63b05ac60cef524ad2d53fd5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9f1d8a3490db2641efb6973044345da","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147045,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9f1d8a3490db2641efb6973044345da"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.024920309Z"}]},"request_id":"70f1315e-1f94-4eb1-a147-d6358674eb79","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.1036882} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9f1d8a3490db2641efb6973044345da"},"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":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/750ed08e-f886-4995-864d-0aa0de1476be? 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":"f9f1d8a3490db2641efb6973044345da"} device-1 | {"level":"info","message":"GET /devices/750ed08e-f886-4995-864d-0aa0de1476be? 200 16ms","method":"GET","requestID":"f9f1d8a3490db2641efb6973044345da","responseTime":16,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e9fb9e8e70497473e41e63d8a9a51044","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200242,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9fb9e8e70497473e41e63d8a9a51044"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.076220315Z"}]},"request_id":"1b4f595e-dbcf-4254-987a-af6cdacdf5a7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.1275456} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9fb9e8e70497473e41e63d8a9a51044"},"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":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393? 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":"e9fb9e8e70497473e41e63d8a9a51044"} device-1 | {"level":"info","message":"GET /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393? 200 16ms","method":"GET","requestID":"e9fb9e8e70497473e41e63d8a9a51044","responseTime":16,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bcd9782d26a5234c18e3fc1bbfca38c9","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:52986","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.315738,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"bcd9782d26a5234c18e3fc1bbfca38c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"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:52986","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.103255,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"056666a0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.99352,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05668db0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.024920309Z"}]},"request_id":"58c4df5b-852f-4778-8571-3acb4bbef1d6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.196072} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"056666a0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.076220315Z"}]},"request_id":"55608e63-1601-4294-8ffe-7d22623001a6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.1977053} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05668db0-32d3-11ef-8c48-074c31242816"},"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/750ed08e-f886-4995-864d-0aa0de1476be? 200 15ms","method":"GET","requestID":"056666a0-32d3-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393? 200 15ms","method":"GET","requestID":"05668db0-32d3-11ef-8c48-074c31242816","responseTime":15,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"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/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.739897,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"05700390-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93901,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"057051b0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.024920309Z"}]},"request_id":"4dacd1be-4363-4cce-8b04-4e8c7480e215","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2680497} authorization-1 | {"client_addr":"127.0.0.1:54626","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} 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":"05700390-32d3-11ef-8c48-074c31242816"},"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:54626","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.817381,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.076220315Z"}]},"request_id":"ce3bf64b-445f-40fb-8fa2-8f5257e67e3e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2707903} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f28d0de5-056a-4d7d-9609-3fdb5cc655fe","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2710612} 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":"057051b0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 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":"05709fd0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"GET /devices/750ed08e-f886-4995-864d-0aa0de1476be? 200 25ms","method":"GET","requestID":"05700390-32d3-11ef-8c48-074c31242816","responseTime":25,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"1c964ef3-4277-43ad-beb9-5b1cd624f096","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2778416} 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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac0a585e-6149-413a-93c7-de51568d135f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2783668} device-1 | {"level":"info","message":"GET /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393? 200 28ms","method":"GET","requestID":"057051b0-32d3-11ef-8c48-074c31242816","responseTime":28,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bcd9782d26a5234c18e3fc1bbfca38c9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"POST /devices/750ed08e-f886-4995-864d-0aa0de1476be/signaling 200 27ms","method":"POST","requestID":"05709fd0-32d3-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a936707d-5a6b-4492-b96b-482134f14c14","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2884827} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.346975,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","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":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcd9782d26a5234c18e3fc1bbfca38c9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 149ms","method":"POST","requestID":"bcd9782d26a5234c18e3fc1bbfca38c9","responseTime":149,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0574e590-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0823148a-883e-49ee-b4b0-e470ec01778a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.2934253} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.79346,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","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/750ed08e-f886-4995-864d-0aa0de1476be/signaling 200 14ms","method":"POST","requestID":"0574e590-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/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":"0575cff0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"879a038c599ba3e400bd57e30564a820","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling 200 16ms","method":"POST","requestID":"0575cff0-32d3-11ef-8c48-074c31242816","responseTime":16,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36644,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"879a038c599ba3e400bd57e30564a820"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.024920309Z"}]},"request_id":"878ee5b5-3b49-4431-b2ec-d7cd0862cb1e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.3125663} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6777c86-27b5-4649-beeb-86f7181d666c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.3128183} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"879a038c599ba3e400bd57e30564a820"},"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:52986","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.901895,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","rebac_allow":false,"scope_allow":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":"05777da0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/750ed08e-f886-4995-864d-0aa0de1476be? 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":"879a038c599ba3e400bd57e30564a820"} device-1 | {"level":"info","message":"GET /devices/750ed08e-f886-4995-864d-0aa0de1476be? 200 18ms","method":"GET","requestID":"879a038c599ba3e400bd57e30564a820","responseTime":18,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling 200 23ms","method":"POST","requestID":"05777da0-32d3-11ef-8c48-074c31242816","responseTime":23,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"696d52b4-7232-477e-b3eb-086985d10813"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"44ff7bbd-1975-4002-8c2b-3d854422a1b9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bd317047-618a-41a2-ba6f-4878bd29e52b"}]},"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/499afe4d-3b3d-4882-b7ce-9f2f8e205393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44ed8a5c3e9f2f9b4c60be760f2d962c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.860197,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"057b7540-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.805886,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ed8a5c3e9f2f9b4c60be760f2d962c"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:16.076220315Z"}]},"request_id":"a22aa3e4-bccc-47b3-809e-6aed6264ed64","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.3369017} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ed8a5c3e9f2f9b4c60be760f2d962c"},"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":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393? 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":"44ed8a5c3e9f2f9b4c60be760f2d962c"} device-1 | {"level":"info","message":"GET /devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393? 200 15ms","method":"GET","requestID":"44ed8a5c3e9f2f9b4c60be760f2d962c","responseTime":15,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393?"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"0d9413dc-1fd5-4cbe-bb0f-05eff5929448","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.341929} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c81984e-3662-4f66-b6fd-8267301a8042","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.3423357} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"057b7540-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"057b7540-32d3-11ef-8c48-074c31242816","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b38ac9eb-cca6-496e-9a56-5f845db6d047","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.3893528} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546587,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","rebac_allow":false,"scope_allow":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":"0584c410-32d3-11ef-8c48-074c31242816"},"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/750ed08e-f886-4995-864d-0aa0de1476be/signaling 200 9ms","method":"POST","requestID":"0584c410-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c888108-3dfa-4b9f-9d31-9d4331f5b6f1","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.4020824} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.394049,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","rebac_allow":false,"scope_allow":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":"058698d0-32d3-11ef-8c48-074c31242816"},"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/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling 200 9ms","method":"POST","requestID":"058698d0-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1839585e-737d-4aeb-9305-aae1562f60ad","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":"70c78c7a8fe4f6e7592dd01ac785d925","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/499afe4d-3b3d-4882-b7ce-9f2f8e205393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"70c78c7a8fe4f6e7592dd01ac785d925","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"70c78c7a8fe4f6e7592dd01ac785d925"} device-1 | {"data":{"peerconnection":"1839585e-737d-4aeb-9305-aae1562f60ad","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"1839585e-737d-4aeb-9305-aae1562f60ad","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/1839585e-737d-4aeb-9305-aae1562f60ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1839585e-737d-4aeb-9305-aae1562f60ad","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":"51d1d2227b94207220b1a89d06966b84","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/499afe4d-3b3d-4882-b7ce-9f2f8e205393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1839585e-737d-4aeb-9305-aae1562f60ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"308f434c-a428-4333-8e48-b5c46848b562","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.4829433} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.258779,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05931bf0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad 200 7ms","method":"GET","requestID":"05931bf0-32d3-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"51d1d2227b94207220b1a89d06966b84","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"51d1d2227b94207220b1a89d06966b84"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cdae9d5-6554-4c64-945e-3e96716cb49c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.5110128} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.118571,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"059761b0-32d3-11ef-8c48-074c31242816"},"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/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling 200 7ms","method":"POST","requestID":"059761b0-32d3-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3bfabbc9-8601-4f8e-9f9b-034c8c5335cd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.5200086} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.097213,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0598c140-32d3-11ef-8c48-074c31242816"},"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/750ed08e-f886-4995-864d-0aa0de1476be/signaling 200 7ms","method":"POST","requestID":"0598c140-32d3-11ef-8c48-074c31242816","responseTime":7,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c4a85e6a1c1615d0894b949050eaa3ee","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.861475,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"c4a85e6a1c1615d0894b949050eaa3ee"},"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/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4a85e6a1c1615d0894b949050eaa3ee"} experiment-1 | {"level":"info","message":"GET /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a 200 9ms","method":"GET","requestID":"c4a85e6a1c1615d0894b949050eaa3ee","responseTime":9,"status":200,"url":"/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5de3dd61920dcf00421609886fcee7d2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.246991,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"5de3dd61920dcf00421609886fcee7d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.702865,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"05a2ac50-32d3-11ef-8c48-074c31242816"},"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/1839585e-737d-4aeb-9305-aae1562f60ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1839585e-737d-4aeb-9305-aae1562f60ad","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1839585e-737d-4aeb-9305-aae1562f60ad': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1839585e-737d-4aeb-9305-aae1562f60ad","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"39ef9f00-446f-4d04-bafa-0dbbe9731ff7","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.601278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b58c2488-fb94-4352-b7b8-2c3e23381fa2","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.601543} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"568ad81f88ba0815c2ce6d551a18565f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05a2ac50-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dfab94c0470c25cc3b7c38f8dedb1a09","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/499afe4d-3b3d-4882-b7ce-9f2f8e205393"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"1839585e-737d-4aeb-9305-aae1562f60ad","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/1839585e-737d-4aeb-9305-aae1562f60ad 204 39ms","method":"DELETE","requestID":"05a2ac50-32d3-11ef-8c48-074c31242816","responseTime":39,"status":204,"url":"/peerconnections/1839585e-737d-4aeb-9305-aae1562f60ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F499afe4d-3b3d-4882-b7ce-9f2f8e205393","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a664e35f-909b-4b2f-a28e-43ab9fd43c82","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.6395776} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663748,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393","object_type":"device","rebac_allow":false,"scope_allow":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":"05aac2a0-32d3-11ef-8c48-074c31242816"},"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/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling 200 9ms","method":"POST","requestID":"05aac2a0-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/499afe4d-3b3d-4882-b7ce-9f2f8e205393/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"b63064d1-3b36-40d5-a13b-77febbc5af84","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.6461153} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc51182c-0be0-4e8d-914b-c02b4a2880dd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.6463425} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5de3dd61920dcf00421609886fcee7d2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F750ed08e-f886-4995-864d-0aa0de1476be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e0f47c2-04e1-46dd-a037-56030a436cbb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.6506913} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.220343,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be","object_type":"device","rebac_allow":false,"scope_allow":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":"05ac7050-32d3-11ef-8c48-074c31242816"},"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/750ed08e-f886-4995-864d-0aa0de1476be/signaling 200 10ms","method":"POST","requestID":"05ac7050-32d3-11ef-8c48-074c31242816","responseTime":10,"status":200,"url":"/devices/750ed08e-f886-4995-864d-0aa0de1476be/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5de3dd61920dcf00421609886fcee7d2"} experiment-1 | {"level":"info","message":"DELETE /experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a 204 142ms","method":"DELETE","requestID":"5de3dd61920dcf00421609886fcee7d2","responseTime":142,"status":204,"url":"/experiments/ffcffbe0-cb7a-422c-a3f6-b69fc4f6c44a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"568ad81f88ba0815c2ce6d551a18565f","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"568ad81f88ba0815c2ce6d551a18565f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"dfab94c0470c25cc3b7c38f8dedb1a09","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"dfab94c0470c25cc3b7c38f8dedb1a09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"50a412ee92105d770c94c7d8e81066fa","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.657","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1a92004af0742b0bfd9e9e9311531397"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.929472,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"0.673","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aa3097f1a652b50a77a8967297364846"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} 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":"50a412ee92105d770c94c7d8e81066fa"},"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/499afe4d-3b3d-4882-b7ce-9f2f8e205393' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/750ed08e-f886-4995-864d-0aa0de1476be' 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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F888824f9-7456-452d-867e-223229bf94e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8723cf30-154a-46b0-a3be-f8eb1dcc6098","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7438283} 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":"50a412ee92105d770c94c7d8e81066fa"},"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:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bd7002f-b675-4bfd-8ba3-50cf974d53d9","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.747617} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a412ee92105d770c94c7d8e81066fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F888824f9-7456-452d-867e-223229bf94e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"e007f40c-e321-4ff9-a2f0-873677ce2b0b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7562516} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72c77b66-2157-46f1-be1f-093afd433bab","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7562912} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"50a412ee92105d770c94c7d8e81066fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F888824f9-7456-452d-867e-223229bf94e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F888824f9-7456-452d-867e-223229bf94e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.756219421Z"}]},"request_id":"8d7e18bc-c889-48ee-a426-251b1c174feb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7596352} 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":"50a412ee92105d770c94c7d8e81066fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"50a412ee92105d770c94c7d8e81066fa","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"25/Jun/2024:09:12:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50a412ee92105d770c94c7d8e81066fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"01834d331b7bd6c4fd9e23aa8fae33eb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71205,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306738,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjczOH0.tNKXY80GXTpOx48IyzAfa9oVHbVMA3E9_eskVxDaJVA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01834d331b7bd6c4fd9e23aa8fae33eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f7cbecb6-42e1-4920-9357-2b7cabdfb562","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.779365} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01834d331b7bd6c4fd9e23aa8fae33eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30dc48aa-cc9b-461a-9d1b-b45cb718a751","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7827835} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01834d331b7bd6c4fd9e23aa8fae33eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"94321a26-400d-4526-afca-9c99da7afc57","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7992969} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d7f979e-15c7-49e7-a61d-097584acfa9e","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.7995515} 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":"01834d331b7bd6c4fd9e23aa8fae33eb"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.799247987Z"}]},"request_id":"9b5cd6cb-8cc1-4d04-a720-67bf10a010f5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306738.8025913} 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":"01834d331b7bd6c4fd9e23aa8fae33eb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01834d331b7bd6c4fd9e23aa8fae33eb"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"01834d331b7bd6c4fd9e23aa8fae33eb","responseTime":38,"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":"2c2bcefe4d746aff873af8d8e085c152","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:12:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2c435e6c-e393-4301-b27b-a5b9ba698443/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":"2c2bcefe4d746aff873af8d8e085c152"} device-1 | {"level":"info","message":"OPTIONS /devices/2c435e6c-e393-4301-b27b-a5b9ba698443/websocket 200 1ms","method":"OPTIONS","requestID":"2c2bcefe4d746aff873af8d8e085c152","responseTime":1,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3dc9cbb2f4d8e3cecd74beaffd34125e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.833918,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} 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":"3dc9cbb2f4d8e3cecd74beaffd34125e"},"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":"25/Jun/2024:09:12:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2c435e6c-e393-4301-b27b-a5b9ba698443/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3dc9cbb2f4d8e3cecd74beaffd34125e"} device-1 | {"level":"info","message":"POST /devices/2c435e6c-e393-4301-b27b-a5b9ba698443/websocket 200 23ms","method":"POST","requestID":"3dc9cbb2f4d8e3cecd74beaffd34125e","responseTime":23,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a359bd798577cbe90e339ed703ad7e2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.365982,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a359bd798577cbe90e339ed703ad7e2"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.799247987Z"}]},"request_id":"23981690-6ff2-4de1-a958-3f6e20bcff15","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306740.879903} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a359bd798577cbe90e339ed703ad7e2"},"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":"25/Jun/2024:09:12:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? 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":"7a359bd798577cbe90e339ed703ad7e2"} device-1 | {"level":"info","message":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? 200 17ms","method":"GET","requestID":"7a359bd798577cbe90e339ed703ad7e2","responseTime":17,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"97afc373528c508db9751cdf2dddd938","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:52986","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.241801,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} 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":"97afc373528c508db9751cdf2dddd938"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"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:52986","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.079242,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/888824f9-7456-452d-867e-223229bf94e2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/888824f9-7456-452d-867e-223229bf94e2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070a79b0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.339315,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070aa0c0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F888824f9-7456-452d-867e-223229bf94e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F888824f9-7456-452d-867e-223229bf94e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.756219421Z"}]},"request_id":"9dbf114e-6fb4-46a8-ba31-10c3ffc4fa32","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306740.948763} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.799247987Z"}]},"request_id":"672ede56-03aa-4edb-866c-15a149dd56be","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306740.9505901} 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":"070a79b0-32d3-11ef-8c48-074c31242816"},"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":"070aa0c0-32d3-11ef-8c48-074c31242816"},"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/888824f9-7456-452d-867e-223229bf94e2? 200 18ms","method":"GET","requestID":"070a79b0-32d3-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/888824f9-7456-452d-867e-223229bf94e2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? 200 18ms","method":"GET","requestID":"070aa0c0-32d3-11ef-8c48-074c31242816","responseTime":18,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095689,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:20Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/888824f9-7456-452d-867e-223229bf94e2","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/888824f9-7456-452d-867e-223229bf94e2","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07106d20-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"653f1866-7c0e-45a9-84ce-4100cec3bb5a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.0047712} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca047084-e390-4be2-949d-5842d85a8601","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.004902} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07106d20-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 26ms","method":"POST","requestID":"0715c450-32d3-11ef-a0fc-351eefb1a4ac","responseTime":26,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/888824f9-7456-452d-867e-223229bf94e2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 64ms","method":"POST","requestID":"07106d20-32d3-11ef-8c48-074c31242816","responseTime":64,"status":201,"url":"/devices/888824f9-7456-452d-867e-223229bf94e2?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"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/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923683,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"072358e0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:57528","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78055,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"client_addr":"127.0.0.1:54626","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07237ff0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:54626","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.485115,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"00eb2008-1f5f-462d-99e7-62eaca5b600d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.1095803} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","rebac_allow":false,"scope_allow":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":"0723a700-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:21.004747212Z"}]},"request_id":"623d445e-e5fc-44da-a93b-59191140f3c5","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.1126816} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"072358e0-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.799247987Z"}]},"request_id":"0c23c09b-25ed-40d1-8afd-4cee06f5107a","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.1151931} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07237ff0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 1e198d97-153e-4399-93c1-5661f12c8d2e","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 1e198d97-153e-4399-93c1-5661f12c8d2e\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/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"0723a700-32d3-11ef-8c48-074c31242816"} device-1 | {"level":"info","message":"POST /devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling 404 14ms","method":"POST","requestID":"0723a700-32d3-11ef-8c48-074c31242816","responseTime":14,"status":404,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 1e198d97-153e-4399-93c1-5661f12c8d2e"},"status":404}},"level":"error","message":"Could not send status-update message"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1e198d97-153e-4399-93c1-5661f12c8d2e? 200 19ms","method":"GET","requestID":"072358e0-32d3-11ef-8c48-074c31242816","responseTime":19,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff368555f-0f0c-49d7-a7f5-26358761c45f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff368555f-0f0c-49d7-a7f5-26358761c45f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"22e0da19-143a-44de-b90a-d11fe1db95fa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.1229043} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? 200 21ms","method":"GET","requestID":"07237ff0-32d3-11ef-8c48-074c31242816","responseTime":21,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"724fbb2c-7c2c-4ae8-8c91-5b78cb74c606","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.1232924} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97afc373528c508db9751cdf2dddd938"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"028bc41b-320f-465c-a6bf-6ad98dcf1ceb","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306741.1265812} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.705883,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","rebac_allow":false,"scope_allow":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":"07266620-32d3-11ef-8c48-074c31242816"},"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/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling 200 8ms","method":"POST","requestID":"07266620-32d3-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f","user":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"25/Jun/2024:09:12:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.245","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97afc373528c508db9751cdf2dddd938"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"97afc373528c508db9751cdf2dddd938","responseTime":238,"status":201,"url":"/experiments?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a5f7e624348461aab9a4ee5fa66ee5d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"25/Jun/2024:09:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e198d97-153e-4399-93c1-5661f12c8d2e/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":"3a5f7e624348461aab9a4ee5fa66ee5d"} device-1 | {"level":"info","message":"OPTIONS /devices/1e198d97-153e-4399-93c1-5661f12c8d2e/websocket 200 1ms","method":"OPTIONS","requestID":"3a5f7e624348461aab9a4ee5fa66ee5d","responseTime":1,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6Ikk3OHNkd3RubHoxUEp4T2l6RkZTVmMwdFhKWkFDRG16VElzYUg5N183NXZrUDdMLXNGMDRDdm1OTldjRWVwZE1pdXB4X1FYQjBuSDRhZ0FfSUkzY3dBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0M30.K9CxLgAWAZUEZTi83HEvpLxvG49KF5B2-W8vp9bRGnY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0f834214e1f590e81b7101abcda76dbb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.485347,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","payload":{"admin":true,"edgeToken":"I78sdwtnlz1PJxOizFFSVc0tXJZACDmzTIsaH97_75vkP7L-sF04CvmNNWcEepdMiupx_QXB0nH4agA_II3cwA","iat":1719306743,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6Ikk3OHNkd3RubHoxUEp4T2l6RkZTVmMwdFhKWkFDRG16VElzYUg5N183NXZrUDdMLXNGMDRDdm1OTldjRWVwZE1pdXB4X1FYQjBuSDRhZ0FfSUkzY3dBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0M30.K9CxLgAWAZUEZTi83HEvpLxvG49KF5B2-W8vp9bRGnY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f834214e1f590e81b7101abcda76dbb"},"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/1e198d97-153e-4399-93c1-5661f12c8d2e/websocket 200 22ms","method":"POST","requestID":"0f834214e1f590e81b7101abcda76dbb","responseTime":22,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/websocket"} gateway-1 | {"time_local":"25/Jun/2024:09:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1e198d97-153e-4399-93c1-5661f12c8d2e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0f834214e1f590e81b7101abcda76dbb"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e' 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":"244d918685a924ed1624d46326d758a1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0M30.7A0whNHUQ6Vw0-noCimCYSuLAUqwJZGV_oakDsgh3rs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ff5e37ae84b8158afd95f67c9f8b42b1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941892,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306743,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0M30.7A0whNHUQ6Vw0-noCimCYSuLAUqwJZGV_oakDsgh3rs"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff5e37ae84b8158afd95f67c9f8b42b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:21.004747212Z"}]},"request_id":"6f47788a-026e-423e-b2c5-b57bf5f64113","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306743.2161844} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff5e37ae84b8158afd95f67c9f8b42b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"244d918685a924ed1624d46326d758a1","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"244d918685a924ed1624d46326d758a1"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"25/Jun/2024:09:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e198d97-153e-4399-93c1-5661f12c8d2e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff5e37ae84b8158afd95f67c9f8b42b1"} device-1 | {"level":"info","message":"GET /devices/1e198d97-153e-4399-93c1-5661f12c8d2e? 200 13ms","method":"GET","requestID":"ff5e37ae84b8158afd95f67c9f8b42b1","responseTime":13,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0M30.7A0whNHUQ6Vw0-noCimCYSuLAUqwJZGV_oakDsgh3rs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca710574b3e534e6e84b6e793118750d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.37303,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306743,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0M30.7A0whNHUQ6Vw0-noCimCYSuLAUqwJZGV_oakDsgh3rs"} 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":"ca710574b3e534e6e84b6e793118750d"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.799247987Z"}]},"request_id":"8f9dc8a7-ec1c-4b78-8418-4d7f7f60aefd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306743.2384253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca710574b3e534e6e84b6e793118750d"},"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":"25/Jun/2024:09:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca710574b3e534e6e84b6e793118750d"} device-1 | {"level":"info","message":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? 200 14ms","method":"GET","requestID":"ca710574b3e534e6e84b6e793118750d","responseTime":14,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172678,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} 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":"0a2219f0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:33466","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:33466","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.400864,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} 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":"0a226810-32d3-11ef-8c48-074c31242816"},"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:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:21.004747212Z"}]},"request_id":"14ddca26-6a19-4655-91aa-337b3c7b6626","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.1453025} 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":"0a2219f0-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"timestamp":"2024-06-25T09:12:18.799247987Z"}]},"request_id":"74962802-9b59-414e-b96b-3ea5137e17f0","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.146889} 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":"0a226810-32d3-11ef-8c48-074c31242816"},"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/1e198d97-153e-4399-93c1-5661f12c8d2e? 200 27ms","method":"GET","requestID":"0a2219f0-32d3-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2c435e6c-e393-4301-b27b-a5b9ba698443? 200 27ms","method":"GET","requestID":"0a226810-32d3-11ef-8c48-074c31242816","responseTime":27,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2a9806f-22d5-441a-b304-8a406c0ac369","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.1665351} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.451919,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","rebac_allow":false,"scope_allow":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":"0a26fbf0-32d3-11ef-8c48-074c31242816"},"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/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling 200 14ms","method":"POST","requestID":"0a26fbf0-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b792c82-7ebe-4830-9f97-a50b1b1f9acd","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.1832368} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.7909,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","rebac_allow":false,"scope_allow":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":"0a299400-32d3-11ef-8c48-074c31242816"},"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/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling 200 14ms","method":"POST","requestID":"0a299400-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"cc7970cb-a78f-4a0d-89e8-cd801c81aa1e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e537151c-09bc-458b-bcc3-d57e012b803a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"12c803ec-30a7-467c-b2c9-337a32cf3d7e"}]},"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/2c435e6c-e393-4301-b27b-a5b9ba698443"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.205746,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306740,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0MH0.r4pQSuFQfxj2VEdf_2rgpwnHiTuhg7ftI0AxGJVCpWY"} 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":"0a2c5320-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","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%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]}},"raw_response":{},"request_id":"5bc4fe36-97c8-4d01-8f33-dc1803e5f2f3","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.2122688} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"354b84e3-0b9e-4647-a08b-43d66288cffa","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.212432} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a2c5320-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"0a2c5320-32d3-11ef-8c48-074c31242816","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ee3ba3e-7324-4659-98f5-319f3466cf2d","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.2695906} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.546441,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","rebac_allow":false,"scope_allow":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":"0a36b360-32d3-11ef-8c48-074c31242816"},"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/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling 200 14ms","method":"POST","requestID":"0a36b360-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43a4fcbe-b075-4813-a7b9-001dbd11d0ee","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.2849069} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.214676,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","rebac_allow":false,"scope_allow":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":"0a392460-32d3-11ef-8c48-074c31242816"},"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/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling 200 12ms","method":"POST","requestID":"0a392460-32d3-11ef-8c48-074c31242816","responseTime":12,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e4a3aefc-3c54-492f-9d96-8f2075afc052","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":"ce91b1f0e4ccca8604ea5ce376e5c9a3","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/2c435e6c-e393-4301-b27b-a5b9ba698443"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ce91b1f0e4ccca8604ea5ce376e5c9a3","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"ce91b1f0e4ccca8604ea5ce376e5c9a3"} device-1 | {"data":{"peerconnection":"e4a3aefc-3c54-492f-9d96-8f2075afc052","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e4a3aefc-3c54-492f-9d96-8f2075afc052","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/e4a3aefc-3c54-492f-9d96-8f2075afc052' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e4a3aefc-3c54-492f-9d96-8f2075afc052","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":"5208a81319ead09e07e90153db077906","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/2c435e6c-e393-4301-b27b-a5b9ba698443"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4a3aefc-3c54-492f-9d96-8f2075afc052","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2b03c31-7eb1-41c8-b87a-49b85075b644","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.3734686} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.303245,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a470710-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052 200 8ms","method":"GET","requestID":"0a470710-32d3-11ef-8c48-074c31242816","responseTime":8,"status":200,"url":"/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"5208a81319ead09e07e90153db077906","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"5208a81319ead09e07e90153db077906"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23f2c3e3-8380-4aa9-b29d-ebfc1bf0cc82","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.405117} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340795,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","rebac_allow":false,"scope_allow":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":"0a4bc200-32d3-11ef-8c48-074c31242816"},"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/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling 200 9ms","method":"POST","requestID":"0a4bc200-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97ce794e-77c7-467f-9f38-f636ca9ef899","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.416095} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.648156,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","rebac_allow":false,"scope_allow":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":"0a4d6fb0-32d3-11ef-8c48-074c31242816"},"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/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling 200 9ms","method":"POST","requestID":"0a4d6fb0-32d3-11ef-8c48-074c31242816","responseTime":9,"status":200,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0Nn0.UrRUd5o2IIDBRvucQY0xUXMGtBPoozW3Fxw3esM76lw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dfafe769e9f4ee974b968b58a9113283","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.970918,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306746,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0Nn0.UrRUd5o2IIDBRvucQY0xUXMGtBPoozW3Fxw3esM76lw"} 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":"dfafe769e9f4ee974b968b58a9113283"},"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/f368555f-0f0c-49d7-a7f5-26358761c45f"} gateway-1 | {"time_local":"25/Jun/2024:09:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfafe769e9f4ee974b968b58a9113283"} experiment-1 | {"level":"info","message":"GET /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f 200 12ms","method":"GET","requestID":"dfafe769e9f4ee974b968b58a9113283","responseTime":12,"status":200,"url":"/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0Nn0.UrRUd5o2IIDBRvucQY0xUXMGtBPoozW3Fxw3esM76lw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0a87162036fa75f61a6afec6375926e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.797171,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"experiment:http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f","object_type":"experiment","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306746,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0Nn0.UrRUd5o2IIDBRvucQY0xUXMGtBPoozW3Fxw3esM76lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0a87162036fa75f61a6afec6375926e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.805866,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"peerconnection:http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306746,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0Nn0.UrRUd5o2IIDBRvucQY0xUXMGtBPoozW3Fxw3esM76lw"} 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":"0a569770-32d3-11ef-8c48-074c31242816"},"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/e4a3aefc-3c54-492f-9d96-8f2075afc052' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e4a3aefc-3c54-492f-9d96-8f2075afc052","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4a3aefc-3c54-492f-9d96-8f2075afc052': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe4a3aefc-3c54-492f-9d96-8f2075afc052","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"d97385f0-0b3c-4ed7-975e-d67fcaa5d39b","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.4890068} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a4a4bbc-f08e-498a-9cae-5981fdb00269","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.4894683} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a569770-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ee6ca9b8424348c0da7d2d2a3d43f55a","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/2c435e6c-e393-4301-b27b-a5b9ba698443"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052"}}},"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":"56959ca1774d908c8216401e2d81c98d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052 204 26ms","method":"DELETE","requestID":"0a569770-32d3-11ef-8c48-074c31242816","responseTime":26,"status":204,"url":"/peerconnections/e4a3aefc-3c54-492f-9d96-8f2075afc052"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27795,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443'"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","payload":{"admin":true,"edgeToken":"qmunC0FmB9LNOsu49JGHFych2d2TU5tJEfPy1rmtGqqO7k1X52AgV2BJbeDIJq9SPw83JtYRkCDaqdV9KWvGcA","iat":1719306746,"sub":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b","subject_alt":"http://localhost/users/b7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2I3YTVlZDZmLTYxZDQtNGI5Ny1iNjk4LTI5Y2I4N2M2NmI0YiIsImVkZ2VUb2tlbiI6InFtdW5DMEZtQjlMTk9zdTQ5SkdIRnljaDJkMlRVNXRKRWZQeTFybXRHcXFPN2sxWDUyQWdWMkJKYmVESUpxOVNQdzgzSnRZUmtDRGFxZFY5S1d2R2NBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxOTMwNjc0Nn0.UrRUd5o2IIDBRvucQY0xUXMGtBPoozW3Fxw3esM76lw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a5add30-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"29cf1ce8-1daf-4721-811f-f119daec36b6","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.5173938} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"768dcd9a-e016-46fe-9c12-dbbcc39cad19","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.5178244} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"194","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a5add30-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"DELETE /devices/1e198d97-153e-4399-93c1-5661f12c8d2e 204 33ms","method":"DELETE","requestID":"0a5add30-32d3-11ef-8c48-074c31242816","responseTime":33,"status":204,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2c435e6c-e393-4301-b27b-a5b9ba698443","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e3df4bc-57a8-4827-a307-abf6a56ef82c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.5648816} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.017338,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443","object_type":"device","rebac_allow":false,"scope_allow":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":"0a63dde0-32d3-11ef-8c48-074c31242816"},"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/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling 200 14ms","method":"POST","requestID":"0a63dde0-32d3-11ef-8c48-074c31242816","responseTime":14,"status":200,"url":"/devices/2c435e6c-e393-4301-b27b-a5b9ba698443/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff368555f-0f0c-49d7-a7f5-26358761c45f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff368555f-0f0c-49d7-a7f5-26358761c45f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fb7a5ed6f-61d4-4b97-b698-29cb87c66b4b"}]},"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","writes":null},"raw_response":{},"request_id":"fba68a82-592f-448e-b998-5b1c9ad9021f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.5762289} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"id":"01J17AJ00XHP4DKF187V9HDKRB","store_id":"01J17AHZYZ614HWGHSD4EA9VM1"},"raw_response":{"authorization_model":{"id":"01J17AJ00XHP4DKF187V9HDKRB","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c61bd03b-fd72-425d-9f85-3e52dd18ab9f","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.5767462} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0a87162036fa75f61a6afec6375926e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:47132","raw_request":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","contextual_tuples":null,"store_id":"01J17AHZYZ614HWGHSD4EA9VM1","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e198d97-153e-4399-93c1-5661f12c8d2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86089702-f0d5-4fd9-a1f4-2810a663bc8c","store_id":"01J17AHZYZ614HWGHSD4EA9VM1","subsystem":"openfga","timestamp":1719306746.5825846} authorization-1 | {"client_addr":"127.0.0.1:52986","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.794315,"resp_status":200,"subsystem":"opa","time":"2024-06-25T09:12:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","openfga":{"authorization_model_id":"01J17AJ00XHP4DKF187V9HDKRB","store":"01J17AHZYZ614HWGHSD4EA9VM1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e","object_type":"device","rebac_allow":false,"scope_allow":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":"0a669d00-32d3-11ef-8c48-074c31242816"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"0a669d00-32d3-11ef-8c48-074c31242816"} device-1 | {"level":"info","message":"POST /devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling 404 11ms","method":"POST","requestID":"0a669d00-32d3-11ef-8c48-074c31242816","responseTime":11,"status":404,"url":"/devices/1e198d97-153e-4399-93c1-5661f12c8d2e/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"} gateway-1 | {"time_local":"25/Jun/2024:09:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0a87162036fa75f61a6afec6375926e"} experiment-1 | {"level":"info","message":"DELETE /experiments/f368555f-0f0c-49d7-a7f5-26358761c45f 204 182ms","method":"DELETE","requestID":"a0a87162036fa75f61a6afec6375926e","responseTime":182,"status":204,"url":"/experiments/f368555f-0f0c-49d7-a7f5-26358761c45f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"ee6ca9b8424348c0da7d2d2a3d43f55a","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"ee6ca9b8424348c0da7d2d2a3d43f55a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"56959ca1774d908c8216401e2d81c98d","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"56959ca1774d908c8216401e2d81c98d"} gateway-1 | {"time_local":"25/Jun/2024:09:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"5.805","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d46311b6301c26fea7776cedae716dd0"} gateway-1 | {"time_local":"25/Jun/2024:09:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2405","request_time":"3.466","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b16b4a643b82151020f87cb113abce7"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2c435e6c-e393-4301-b27b-a5b9ba698443' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e' closed"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"96ed0ddc1c401784d5cb2865079e68c8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/1e198d97-153e-4399-93c1-5661f12c8d2e"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"96ed0ddc1c401784d5cb2865079e68c8","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"25/Jun/2024:09:12:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"96ed0ddc1c401784d5cb2865079e68c8"} authentication-1 exited with code 0 device-1 exited with code 0 federation-1 exited with code 0 experiment-1 exited with code 0 authorization-1 exited with code 0 gateway-1 exited with code 0